promise,一个请求结束之后再发送另外一个请求

异步任务1执行

runAsync1: function () {
    return new Promise(function (resolve, rej) {
      wx.request({
        url: ``,
        header: {
          'content-type': 'application/json'
        },
        method: 'POST',
        data: {},
        success(res) {
          if (res.statusCode === 200) {
            resolve(res); // 请求成功后的数据
          } else if (res.statusCode === 404) {
            utils.hideLoading();
            utils.showToast('404 页面找不到', 'none', 3000, false);
          } else if (res.statusCode === 500) {
            utils.hideLoading();
            utils.showToast('500 服务器错误', 'none', 3000, false);
          } else if (res.statusCode === 503) {
            utils.hideLoading();
            utils.showToast('503 服务器开小差', 'none', 3000, false);
          }
        }
      });
    })
  },
复制代码

异步任务2执行

runAsync2: function () {
    return new Promise(function (resolve, rej) {
      wx.request({
        url: ``,
        header: {
          'content-type': 'application/json'
        },
        method: 'POST',
        data: {},
        success(res) {
          if (res.statusCode === 200) {
            resolve(res);
          } else if (res.statusCode === 404) {
            utils.hideLoading();
            utils.showToast('404 页面找不到', 'none', 3000, false);
          } else if (res.statusCode === 500) {
            utils.hideLoading();
            utils.showToast('500 服务器错误', 'none', 3000, false);
          } else if (res.statusCode === 503) {
            utils.hideLoading();
            utils.showToast('503 服务器开小差', 'none', 3000, false);
          }
        }
      });
    })
  },
复制代码

来调用一下

  fetchData: function () {
    that.runAsync1()
      .then(function (res) {
       // 处理数据1
        console.log(res.data);
        return that.runAsync2();
      })
      .then(function (res) {
        console.log(res.data);
        // 处理数据2
      })
  },复制代码

转载于:https://juejin.im/post/5c3ee7c9f265da614f708bec

你可能感兴趣的:(promise,一个请求结束之后再发送另外一个请求)