小さなマイクロチャネルアプリケーション開発(XII)プロミス非同期を同期させるために変更されます

// utilsの/ utils.js

  / ** 

  書き換えモード用* RequestPromise約束wx.request 

  * @Param:{文字列} myUrlインタフェースアドレス 

  * @Return:オブジェクトのインスタンスを約束 

  * / 

CONST requestPromise myurl = => {
   // プロミスは、オブジェクトのインスタンスを返す
  戻り 新しい新しい約束を((=>)、解決拒否{ 
    wx.request({ 
      :myurl、URL 
      :成功RES => 解決(RES)
    })
  })
} 

Module1を.exportsは = { 
  requestPromise:requestPromise 
} 



// ページ/試験/ test.js
 // インポートファイルutil.js 
CONST utilApiザは=(必要' ../../utils/util.js ' 

ページ({ 
  データ:{ 
    MYDATA :'' 
  }、
  //プリントMYDATAの値についてloadMyData機能
  loadMyData(){ 
    にconsole.log(取得したデータは次のとおり + この.data.myData)
  }、
  // ページロードのonload監視するために使用されるライフサイクルメソッド
  のonLoadを:関数(){ 
    utilApi.requestPromise(' http://172.20.10.10:8080/wx?name= OAid =暁暁&' // .then処理結果を使用 
  .then(RES => { 
        にconsole.log(res.data)
        この.setData ({ 
          MYDATA:res.data 
        })
        はconsole.log(この.data.myData)
         この.loadMyData()
      })
}
})

複数の非同期要求がある場合は、直接連続.then(FN)は、ロジックをクリアするために処理することができます。

もちろん、ただ約束の簡単な関数を書く、完全ではありません。より完全なwx.requestの約束、そしてそれを改善するために、他の将来のビジネスニーズ。また、小規模な開発フレームワークの様々なものボックスを持って、APIの既製の約束をしています。

おすすめ

転載: www.cnblogs.com/aaronthon/p/11698201.html