微信小程序Request與Promise聯合使用

0x00 目的

  • 解決存在 request 異步函數的函數返回值爲undefined的問題

0x01 Way1:使用Promise

  • 我對Promise的理解並不深刻,就不在這裏獻醜了,大家感興趣的可以閱讀我文章最後的參考文獻;
  • 使用方法
  onLoad: function() {
    this.fnGetDataTest().then((res) => {
      console.log("succ:", res);
    }).catch((res) => {
      console.log("fail:", res);
    });
  },

  fnGetDataTest() {
    return new Promise(
      function(resolve, reject) {
        wx.request({
          url: 'https://xxxxxxxxxx',
          data: '',
          header: {},
          method: 'GET',
          dataType: 'json',
          responseType: 'text',
          success: function(res) {
            resolve(res);  // 成功時調用
          },
          fail: function(res) {
            reject(res);  // 錯誤時調用
          },
          complete: function(res) {},
        })
      }
    )
  }

0x02 Way2:使用setData

  • 這一點就不講了沒有技術含量,我想當我我提到setData的時候基本上所有同學都可以明白我的意圖。

有問題的同學請在評論區文明討論
下面是一些關於Promise的資料:
Promise - 廖雪峯的官方網站
Promise - JavaScript | MDN
JavaScript Promise迷你書(中文版)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章