小程序如何支持使用 async/await詳解
前言
小程序本身是不支持async/await語法的,但有些應(yīng)用場景,我們使用async/await會(huì)使得代碼更簡潔,也更易于維護(hù),用過都知道是有多爽的。既然小程序不支持,那我們可以借助 fackbook 開源的 regenerator 來完成這一功能。 前面我也百度過一些方法,但很多方法都行不通,只能從其中找到一些線索,再加上實(shí)踐來驗(yàn)證,最后在這里記錄下成功的解決方法。
準(zhǔn)備工作
1. 小程序目錄下,新建一個(gè)packpage.json,通過命令行執(zhí)行 npm init -y 可以快速創(chuàng)建
2. 安裝 regenerator-runtime,命令行執(zhí)行 npm i regenerator-runtime
3. 打開小程序開發(fā)者工具,點(diǎn)擊右上角的工具選項(xiàng),點(diǎn)擊構(gòu)建npm,稍等幾秒,小程序目錄下會(huì)出現(xiàn) miniprogram_npm 文件夾,里面存放的就是構(gòu)建完成的npm包
4. 開發(fā)者工具右上角 本地設(shè)置 勾選 使用npm模塊
npm構(gòu)建參考文檔:https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html
如何使用
引入 regenerator-runtime
import regeneratorRuntime from 'regenerator-runtime'
引入的名字必須是 regeneratorRuntime ,這個(gè)不是自定義的,必須就是這個(gè)名字!
然后就可以正常使用 async/await
最后
完成上面的步驟后,我在使用時(shí)會(huì)報(bào)一個(gè)錯(cuò)誤
后面發(fā)現(xiàn)需要?jiǎng)h除 regenerator-runtime 文件中一些源碼后,才能正常使用。(不知道是哪里出了問題,假如你們在使用時(shí)出現(xiàn)這個(gè)錯(cuò)誤,再參考下面的解決方法)
進(jìn)入 miniprogram_npm/regenerator-runtime/index.js,大約730行處
刪除 Function("r", "regeneratorRuntime = r")(runtime)
即可
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
每天一篇javascript學(xué)習(xí)小結(jié)(String對象)
這篇文章主要介紹了javascript中的String對象知識點(diǎn),對String對象的基本使用方法,以及各種方法進(jìn)行整理,感興趣的小伙伴們可以參考一下2015-11-11javascript Three.js創(chuàng)建文字初體驗(yàn)
這篇文章主要為大家介紹了Three.js創(chuàng)建文字初體驗(yàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-11-11基于JavaScript實(shí)現(xiàn)粒子流動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了如何通過JavaScript實(shí)現(xiàn)粒子流動(dòng)效果,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2023-09-09用javascript實(shí)現(xiàn)自動(dòng)輸出網(wǎng)頁文本
這篇文章主要介紹了用javascript實(shí)現(xiàn)自動(dòng)輸出網(wǎng)頁文本,用到兩個(gè)函數(shù):setTimeout(),遞歸和String.substring();,需要的朋友可以參考下2015-07-07javascript打造跨瀏覽器事件處理機(jī)制[Blue-Dream出品]
由于瀏覽器兼容的復(fù)雜性.打造一個(gè)較優(yōu)的跨瀏覽器事件處理函數(shù).不是件容易的事情.各大類庫也都通過了種種方案去抽象一個(gè)龐大的事件機(jī)制.2010-07-07echarts實(shí)現(xiàn)3d柱狀圖的2種方式舉例
echarts3D效果柱狀圖的實(shí)現(xiàn),這個(gè)太難了,我花了兩天終于調(diào)成我想要的效果啦,要是官網(wǎng)上有例子就好了,太難調(diào)了,下面這篇文章主要給大家介紹了關(guān)于echarts實(shí)現(xiàn)3d柱狀圖的2種方式,需要的朋友可以參考下2023-02-02微信小程序批量監(jiān)聽輸入框?qū)Π粹o樣式進(jìn)行控制的實(shí)現(xiàn)代碼
這篇文章主要介紹了小程序批量監(jiān)聽輸入框?qū)Π粹o樣式進(jìn)行控制的實(shí)現(xiàn)代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10php register_shutdown_function函數(shù)詳解
register_shutdown_function() 函數(shù)可實(shí)現(xiàn)當(dāng)程序執(zhí)行完成后執(zhí)行的函數(shù),其功能為可實(shí)現(xiàn)程序執(zhí)行完成的后續(xù)操作,需要的朋友可以參考下2017-07-07原生js canvas實(shí)現(xiàn)鼠標(biāo)跟隨效果
這篇文章主要為大家詳細(xì)介紹了原生js canvas實(shí)現(xiàn)鼠標(biāo)跟隨效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08