微信小程序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迷你书(中文版)

发布了46 篇原创文章 · 获赞 53 · 访问量 8万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术工厂 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览