我們做小程序開發(fā)時(shí),有時(shí)候想讓自己代碼變得整潔,異步操作時(shí)避免回調(diào)地獄.我們會使用es6的promise. es7的async,await .
創(chuàng)新互聯(lián)公司是一家專業(yè)提供剛察企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為剛察眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
promise在小程序和云開發(fā)的云函數(shù)里都可以使用. async和await只能在云開發(fā)的云函數(shù)里使用.我們在小程序的代碼里直接使用,就會報(bào)如下錯(cuò)誤.
這個(gè)報(bào)錯(cuò)就是告訴我們不能在小程序里直接使用es7的async和await語法.但是這么好的語法我們用起來確實(shí)顯得代碼整潔,逼格高.
那接下來我就教大家如何在小程序代碼里使用es7的async和await語法.
其實(shí)這個(gè)問題,一些大廠已經(jīng)給出了解決方案.如上圖,我們只需要把facebook出的這個(gè)runtime.js類庫下載下來,然后放到我們的小程序項(xiàng)目里.
下載鏈接:https://github.com/facebook/regenerator/blob/master/packages/regenerator-runtime/runtime.js
github有時(shí)候下載比較慢,我也提前把這個(gè)類庫下載好放我網(wǎng)盤里了.
下載鏈接:https://pan.baidu.com/s/19n5wmjIKK3PAPbcXBzWmQA 提取碼:xxll
我這里把runtime.js放到我的utils目錄下,如果你沒有utils目錄,可以新建.
這里建議大家用 require語法引入.
這里需要注意的是.上圖我們引入runtime.js時(shí)的變量名regeneratorRuntime必須和我這里一模一樣.要不然就會引入不成功.
引入完后,在編譯代碼,可以看到控制臺不再報(bào)我們一開始的錯(cuò)誤
首先要知道我們async和await是結(jié)合使用的.
上圖是我簡單寫的一個(gè)定時(shí)器來模擬異步等待.只要我們這里成功的引入runtime.js類庫,后面想使用async和await就方便很多了.
今天就講到這里.想學(xué)習(xí)更多小程序相關(guān)的知識,請持續(xù)關(guān)注.下期見
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。