我們做小程序開發時,有時候想讓自己代碼變得整潔,異步操作時避免回調地獄.我們會使用es6的promise. es7的async,await .
promise在小程序和雲開發的雲函數裏都可以使用. async和await只能在雲開發的雲函數裏使用.我們在小程序的代碼裏直接使用,就會報如下錯誤.
這個報錯就是告訴我們不能在小程序裏直接使用es7的async和await語法.但是這麼好的語法我們用起來確實顯得代碼整潔,逼格高.
那接下來我就教大家如何在小程序代碼裏使用es7的async和await語法.
一,下載facebook出的runtime.js類庫
其實這個問題,一些大廠已經給出瞭解決方案.如上圖,我們只需要把facebook出的這個runtime.js類庫下載下來,然後放到我們的小程序項目裏.
下載鏈接:https://github.com/facebook/regenerator/blob/master/packages/regenerator-runtime/runtime.js
github有時候下載比較慢,我也提前把這個類庫下載好放我網盤裏了.
下載鏈接:https://pan.baidu.com/s/19n5wmjIKK3PAPbcXBzWmQA 提取碼:xxll
- 如果鏈接失效,可以在底部 留言,或者私信石頭哥獲取.
二,下載後,把runtime.js放到我們項目裏
我這裏把runtime.js放到我的utils目錄下,如果你沒有utils目錄,可以新建.
三,代碼裏引入runtime.js類庫
這裏建議大家用 require語法引入.
這裏需要注意的是.上圖我們引入runtime.js時的變量名regeneratorRuntime必須和我這裏一模一樣.要不然就會引入不成功.
引入完後,在編譯代碼,可以看到控制檯不再報我們一開始的錯誤
四,簡單使用async和await
首先要知道我們async和await是結合使用的.
上圖是我簡單寫的一個定時器來模擬異步等待.只要我們這裏成功的引入runtime.js類庫,後面想使用async和await就方便很多了.
今天就講到這裏.想學習更多小程序相關的知識,請持續關注.下期見