非同期要求を使用して約束パッケージ - 小型マイクロチャネルプログラムの開発

 

はじめに:

学校の存在VUEは、ここでは、ネットワーク要求をカプセル化する方法を求めて、例えば、小さなプログラムを書く小さな要求パッケージプログラムを作ることです。

:小さなプログラムの詳細は、公式ドキュメントを参照することができ、HTTPSネットワーク要求APIを開始しwx.request(オブジェクトのオブジェクト)

あなたは直接のAPIの公式を使用する場合は、ネットワーク要求の呼び出しが行われるたびに、我々はすべて異なっ行うためのさまざまな要求のため、その後の対応の結果、設定するリクエストパラメータを渡す公式文書に言わなければなりません。しかし、フロントエンド・インターフェースを使用してサーバーがリクエストパラメータのと処理の結果に応じて、ほとんどはすべてのリクエストが再びノックのためにコードを再する必要がない、非常に似ていたし、ネイティブのネットワーク要求が必要なカプセル化されている要求。

パッケージのネットワーク要求:

より多くのインタフェースは、2つのファイルを作成することができた場合は、パッケージのネットワーク要求を完了します。

1. http.js

コードをコピー
1 / * 
 2 *カプセル化HTTPリクエストの方法
 。3 * / 
 4 apiUrl = CONST "https://www.xxx.cn"; APIアドレス//サーバ
 5のHTTP CONST =(paramsは)=> { 
 6 //オブジェクトの約束を返します。
 新しい新しい約束を返す7((解決、拒否)=> { 
 8 wx.request({ 
 9 URL:で運ばapiUrl + params.url、// URL +サーバー特定のインタフェースアドレスパラメータ
10データ:params.data、//リクエストパラメータ
ヘッダ11:{|| params.header 
:特別な事情が別途設け呼び出し「ファイルアプリケーション/ x-www-form-urlencodedで」のよう//設定必要リア共通フォーマット、12は「コンテンツタイプ」であり
、13} 
14方法:params.method ||「POST」は 、// デフォルトは、一般にPOSTリクエスト形式として、書き込むことができない、GET、デフォルトのPOSTリクエストメソッドとして設定することができるされて
、データフォーマットを返す//、params.dataType:15のdataTypeデフォルトはJSONで呼び出すときに、特別なフォーマットは、パラメータを渡すことができます 
params.responseType、:16 responseTypeを応答の//データ型
機能(RES){:17の成功を 
18 //戻されたデータにアクセスするためのインタフェースである
19(== 200 res.statusCodeある){IF。
20が動作している1つの//正常終了データ、サーバーのみのために原則的に、例えば、本成功ステータスを(返します。 000000の実施例)
21は、IF(res.data.retCodeある== "000000"){ 
22)を解決(res.dataさ
23がそうである} IF(params.url == "/注文/結果" && res.data.retCode = =支払いの"800020"){//未知の結果       
24 //は、特別な処理インターフェイスを必要とする、データを返すために別々に記載されていることができる
25の解決(res.data)
26そうである{} 
27 wx.showToast({ 
28個のアイコン: "なし"を、
タイトル29:res.data.retMsg 
30})
31はconsole.log(RESあります。データ) 
32} 
33}他{
34 2 //戻りデータ操作は非動作うまくフォーマットされていない異常情報の後端部として、異常が均一ヒントを定義することができ、トーストポップアップ様式で応答情報失敗し
35たerrMsg VAR = res.data.message 
36 errorToast()。
console.log 37(res.data)
38である} 
39} 
40失敗:機能(E){ 
41 errorToast()であり、
42は拒否され(E)
43である} 
44れる})
45})
46である} 
47 {module.exportsは= 
48 HTTP :HTTP 
49}
コードをコピー

注意:トップのコードは、より詳細なコメントがあり、それを繰り返すことはしません。

2. api.js

コードをコピー
1つのインポート{ 
 2 HTTP 
 「../utils/util.js'から3} 
 4 
 5 VARのURL = { 
 "/ユーザ/ログイン"、6 userloginの
 7 getUserPhone: "/ユーザ/電話"、
 8 ... 
 9 userCardReceive : "/カード/受信" 
10} 
11 module.exportsは= { 
12 userloginの(コード){ 
13リターンHTTP({       
14 URL:url.userLogin、
15データ:{コード:コード}、
16ヘッダ:{ 
17「のContentタイプ": "アプリケーション/ x-www-form-urlencodedで" 
18} 
19})
20}、
21 getUserPhone(paramsは){ 
22リターンHTTP({ 
23 URL:url.getUserPhone、
24データ:params
25})
26}、 
27 ... 
28 userCardReceive(){ 
29リターンHTTP({ 
30 URL:url.userCardReceive、
31の方法: "GET" 
32})
33} 
34}
コードをコピー

機能要求のパッケージを、コールバック関数へとして要求結果を返します。注意してください。特定のパラメータを個別に設定することができます。

呼び出し:

Http.getUserPhone。1(paramsは).then(データ=> { 
2)データ(IF { 
3 //処理ロジックの結果を返す
4 ... 
5} 
6})        

:個人的なオリジナルのブログ、複製、送信元アドレス明記してくださいhttps://www.cnblogs.com/xyyt/p/9715367.htmlを

します。https://www.cnblogs.com/xyyt個人のオリジナルのブログ、複製、送信元アドレスを記入してください

はじめに:

学校の存在VUEは、ここでは、ネットワーク要求をカプセル化する方法を求めて、例えば、小さなプログラムを書く小さな要求パッケージプログラムを作ることです。

:小さなプログラムの詳細は、公式ドキュメントを参照することができ、HTTPSネットワーク要求APIを開始しwx.request(オブジェクトのオブジェクト)

あなたは直接のAPIの公式を使用する場合は、ネットワーク要求の呼び出しが行われるたびに、我々はすべて異なっ行うためのさまざまな要求のため、その後の対応の結果、設定するリクエストパラメータを渡す公式文書に言わなければなりません。しかし、フロントエンド・インターフェースを使用してサーバーがリクエストパラメータのと処理の結果に応じて、ほとんどはすべてのリクエストが再びノックのためにコードを再する必要がない、非常に似ていたし、ネイティブのネットワーク要求が必要なカプセル化されている要求。

パッケージのネットワーク要求:

より多くのインタフェースは、2つのファイルを作成することができた場合は、パッケージのネットワーク要求を完了します。

1. http.js

コードをコピー
1 / * 
 2 *カプセル化HTTPリクエストの方法
 。3 * / 
 4 apiUrl = CONST "https://www.xxx.cn"; APIアドレス//サーバ
 5のHTTP CONST =(paramsは)=> { 
 6 //オブジェクトの約束を返します。
 新しい新しい約束を返す7((解決、拒否)=> { 
 8 wx.request({ 
 9 URL:で運ばapiUrl + params.url、// URL +サーバー特定のインタフェースアドレスパラメータ
10データ:params.data、//リクエストパラメータ
ヘッダ11:{|| params.header 
:特別な事情が別途設け呼び出し「ファイルアプリケーション/ x-www-form-urlencodedで」のよう//設定必要リア共通フォーマット、12は「コンテンツタイプ」であり
、13} 
14方法:params.method ||「POST」は 、// デフォルトは、一般にPOSTリクエスト形式として、書き込むことができない、GET、デフォルトのPOSTリクエストメソッドとして設定することができるされて
、データフォーマットを返す//、params.dataType:15のdataTypeデフォルトはJSONで呼び出すときに、特別なフォーマットは、パラメータを渡すことができます 
params.responseType、:16 responseTypeを応答の//データ型
機能(RES){:17の成功を
データにアクセスするための18 //インターフェースが返される
(== 200 res.statusCodeある){19 IF。
20である。// 1.オペレーション成功戻りデータを、(この例000000のように)のみサーバ側の状態のための原理の成功を返す
(21 IFあります== res.data.retCode "000000"){ 
22、解決(res.data)である
(params.url == "/発注/結果" IF && res.data.retCode == "800020" 23が他のである}){//支払いの未知の結果       
24 //は、特別な処理インターフェイスを必要とし、データを返すために個別に記載されていることができる
25解決(res.data)
26を他にある{} 
27 wx.showToast({ 
28アイコン:「なし」、
29タイトル:res.data.retMsg 
} 30)
31はconsole.log(res.data)で
32} 
} {33がそうです
34 2 //戻りデータ操作は非動作うまくフォーマットされていない異常情報の後端部として、異常が均一ヒントを定義することができ、トーストポップアップ様式で応答情報失敗し
35たerrMsg VAR = res.data.message 
36 errorToast()。
console.log 37(res.data)
38である} 
39} 
40失敗:機能(E){ 
41 errorToast()であり、
42は拒否され(E)
43である} 
44れる})
45})
46である} 
47 {module.exportsは= 
48 HTTP :HTTP 
49}
コードをコピー

注意:トップのコードは、より詳細なコメントがあり、それを繰り返すことはしません。

2. api.js

コードをコピー
1つのインポート{ 
 2 HTTP 
 「../utils/util.js'から3} 
 4 
 5 VARのURL = { 
 "/ユーザ/ログイン"、6 userloginの
 7 getUserPhone: "/ユーザ/電話"、
 8 ... 
 9 userCardReceive : "/カード/受信" 
10} 
11 module.exportsは= { 
12 userloginの(コード){ 
13リターンHTTP({       
14 URL:url.userLogin、
15データ:{コード:コード}、
16ヘッダ:{ 
17「のContentタイプ": "アプリケーション/ x-www-form-urlencodedで" 
18} 
19})
20}、
21 getUserPhone(paramsは){ 
22リターンHTTP({ 
23 URL:url.getUserPhone、
24データ:params
25})
26}、 
27 ... 
28 userCardReceive(){ 
29リターンHTTP({ 
30 URL:url.userCardReceive、
31の方法: "GET" 
32})
33} 
34}
コードをコピー

機能要求のパッケージを、コールバック関数へとして要求結果を返します。注意してください。特定のパラメータを個別に設定することができます。

呼び出し:

Http.getUserPhone。1(paramsは).then(データ=> { 
2)データ(IF { 
3 //処理ロジックの結果を返す
4 ... 
5} 
6})        

:個人的なオリジナルのブログ、複製、送信元アドレス明記してくださいhttps://www.cnblogs.com/xyyt/p/9715367.htmlを

おすすめ

転載: www.cnblogs.com/skzxcwebblogs/p/11454284.html