async+await一起使用

Posted chenlw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了async+await一起使用相关的知识,希望对你有一定的参考价值。

技术分享图片
/** get 请求
   * @param  {接口地址} url
   * @param  {请求参数} params
   */
  get(url,params){
    return new Promise((resolve,reject) => {
      wx.request({
        url:url,
        data:params,
        success(res){
          resolve(res.data);
        },
        fail(err){
          reject(err);
        }
      })
    })
  }
  /** post 请求
   * @param  {接口地址} url
   * @param  {请求参数} params
   */
  post(url,params){
    return new Promise((resolve,reject) => {
      wx.request({
        url:url,
        type:‘POST‘,
        data:params,
        success(res){
          resolve(res.data);
        },
        fail(err){
          reject(err);
        }
      })
    })
  }
View Code

上面是代码封装

//调用
 async getData(){
      let url = this.testUrl+‘main/scpz/searchGs.php‘;
      this.isShow = ‘‘;
      let param = {
        gsmc:this.gsmc,
        action:‘query‘
      }
      let res = await this.get(url,param);
      let data = res.data;
      if(data){
        console.log(data)
        this.searchData=data;
        this.hasData = ‘1‘;
        this.$apply();
      }else{
        this.hasData = ‘2‘;
        this.$apply();
      } 
 }

  如果多重的话

//先封装一下
function delay(word){
   return new Promise((reslove,reject)=>{
     setTimeout(()=>{
	reslove(‘hello‘ +word)
     },2000)
   }) 
}
// async+await一起使用
async function start(){
  const word1 = await delay(‘1111‘)
  console.log(word1)
  const word2 = await delay(‘2222‘)
  console.log(word2)
  const word3 = await delay(‘3333‘)
  console.log(word3)

}
start()

  

以上是关于async+await一起使用的主要内容,如果未能解决你的问题,请参考以下文章

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

如何将 RestSharp 与 async/await 一起使用

node.js async/await 与 MySQL 一起使用

如何在 Swift 5.5 中将 async/await 与 SwiftUI 一起使用?

为啥 Async Await 可以与 React setState 一起使用?

将 Async/Await 与 Pickle 一起使用