async + await + promise

async + await + promise

await函数返回的是promise函数对象,async结合await使用,await要等待的就是promise,所以不能直接return wx.request等类似的异步函数。

使用的过程中,应该将异步请求的代码,包装到Promise对象中
返回参数: 需要两个参数 第一个是成功时回调,第二个是失败时回调,相当于return,只不过调用时机不一样。

function httpPost(url, data) {
  var promise = new Promise((resolve, reject) => {
    wx.request({
      url: url,
      data: data,
      method: 'POST',
      header: {
        'content-type': 'application/json' // 默认值
      },
      success: function (res) {//服务器返回数据
        resolve(res);
      },
      fail: function (e) {
        reject('http error');
      }
    })
  });
  return promise;
}

// async+await一起使用
async function start(){
  const word1 = await  httpPost('1','')
  console.log(word1)
  const word2 = await  httpPost('2','')
  console.log(word2)
  const word3 = await  httpPost('3','')
  console.log(word3)

    // 或者
    await  httpPost('3','').then(res=>{  });

    httpsLogin().then(res=>{  
    },err=> {
	// 返回reject
      console.log('err::',err)
   });
}

# es6   js  

评论

友情链接:

陌上花开

神奇的海螺

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×