微信小程序 - async/await


下面只是做一些介紹以及使用的原因,詳情介紹還請移步博主:https://www.cnblogs.com/SamWeb/p/8417940.html

regenerator-runtime下載:https://www.npmjs.com/package/regenerator-runtime

 

 

關於request的異步請求演示如下

 

 

使用async...await同步如下

 

 

 

 

微信小程序使用(其它例如VUE使用方式類似):

App.js

 

Index.js(注意,引入的變量名不能隨意改變,應為固定的“regeneratorRuntime”)-> 注意方法和函數調用的區別

 

  • 函數聲明: async function foo() {}
  • 函數表達式: const foo = async function() {}
  • 對象的方式: let obj = { async foo() {} }
  • 箭頭函數: const foo = async () => {}

 

 

 

關於$wx,也就是封裝的Promise方法,類似這樣的

  
//ES6    
    const $wx = url => {
      return new Promise((resolve, reject) => {
        wx.request({
          url,
          method: 'GET',
          header: {
            "content-type": "application/json"
          },
          success(res) {
            resolve(res)
          },
          fail(err) {
            reject(err)
          }
        })
      })
    }

//ES5
    function $wx(url){
      return new Promise((resolve, reject) => {
        wx.request({
          url,
          method: 'GET',
          header: {
            "content-type": "application/json"
          },
          success(res) {
            resolve(res)
          },
          fail(err) {
            reject(err)
          }
        })
      })
    }

  

微信小程序原生不支持async/awit,類似支持的平台有wepy,uni-app等框架....


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM