在小程序中如何使用aysnc / await ?

ES7的async / await 號稱解決異步操作的終極方案,它和ES6的Promise 都能讓我們的代碼看起來更加美觀、簡潔,

但是小程序開發中是不能直接使用的,否則會報錯如下:

 

 怎們辦?這麼好的語法不讓用豈不是很浪費?

彆着急,今天們就來聊聊如何在小程序中使用async / await 這種ES7 的新語法;

第一步:在小程序開發工具中,勾選ES6轉ES5 語法

 

 第二步:下載Facebook的regenerator庫中的 regenerator/packages/regenerator-runtime/runtime.js

 

 

其實這個問題,一些大廠已經給出瞭解決方案.如上圖,我們只需要把facebook出的這個runtime.js類庫下載下來,然後放到我們的小程序項目裏.

下載鏈接:https://github.com/facebook/regenerator/blob/master/packages/regenerator-runtime/runtime.js

github有時候下載比較慢,我也提前把這個類庫下載好放我網盤裏了.

鏈接:https://pan.baidu.com/s/11oshuyKgYGWgD04H9TaJNg
提取碼:wffx

第三步:在小程序目錄下新建文件夾lib/runtime/runtime.js,將代碼都拷貝進去

第四步:在每一個需要使用async 語法的頁面js文件中,都進行引入(不能全局引入):

import regeneratorRuntime from "../../lib/runtime/runtime.js"

或是

const regeneratorRuntime = require ("../../lib/runtime/runtime.js")

 

第五步:重新編譯,報錯消失!完美解決!



至於async / await 語法具體怎麼用,請自行查看文檔!
 
PS: 本文 感謝 簡書 編程小石頭老師的分享  https://www.jianshu.com/p/0152115e2ccc
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章