亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

javascript - Async/Await報錯

瀏覽:97日期:2023-09-02 08:25:08

問題描述

這段代碼問題在哪,一運行就報錯

var sleep = async function(para) {return new Promise(function(resolve, reject) { setTimeout(function() {resolve(para * para) }, 1000)}) } var errorSleep =async function(para) {return new Promise(function(resolve, reject) { setTimeout(function() {reject(’ ErrorSleep’) }, 1000)}) } try {var result1 = await sleep(1);var result2 = await errorSleep(4);var result3 = await sleep(1);console.log(’result1: ’, result1)console.log(’result2: ’, result2)console.log(’result3: ’, result3) } catch (err) {console.log(’err: ’, err)console.log(’result1: ’, result1)console.log(’result2: ’, result2)console.log(’result3: ’, result3) }

javascript - Async/Await報錯

問題解答

回答1:

await 只能在 async 包裝的函數里面用。就和yield只能在generator函數里面用一樣。

回答2:

樓上不是說了嗎,丟到async函數里。

var sleep = async function(para) {return new Promise(function(resolve, reject) { setTimeout(function() {resolve(para * para) }, 1000)}) } var errorSleep =async function(para) {return new Promise(function(resolve, reject) { setTimeout(function() {reject(’ ErrorSleep’) }, 1000)}) }//一樣丟到async函數里 var af = async function() {try { var result1 = await sleep(1); var result2 = await errorSleep(4); var result3 = await sleep(1); console.log(’result1: ’, result1) console.log(’result2: ’, result2) console.log(’result3: ’, result3)} catch (err) { console.log(’err: ’, err) console.log(’result1: ’, result1) console.log(’result2: ’, result2) console.log(’result3: ’, result3)} } af();回答3:

await 只能在 async 函數(函數,函數表達式,箭頭函數) 中使用,所以你只需要寫個 async 函數把那段代碼包起來就好了,我比較喜歡寫 main 函數而不是直接在全局作用域內運行

async function main() { try {var result1 = await sleep(1);var result2 = await errorSleep(4);var result3 = await sleep(1);console.log('result1: ', result1);console.log('result2: ', result2);console.log('result3: ', result3); } catch (err) {console.log('err: ', err);console.log('result1: ', result1);console.log('result2: ', result2);console.log('result3: ', result3); }}// 記得調用main();

另外也可以使用 async IIFE 表達式,比如

// IIFE 函數表達式(async function() { // todo main process})();// IIFE Lambda 表達式(箭頭函數表達式)(async () => { // todo main process})();

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 久草高清在线 | 男女乱淫真视频免费一级毛片 | 黄色在线播放 | 特黄视频 | 欧美人禽杂交狂配毛片 | 久久影视一区 | 亚洲人成在线精品 | 国产在线乱子伦一区二区 | 成人午夜视频一区二区国语 | 亚洲视频免费在线看 | 男人的天堂精品国产一区 | 亚洲精品色综合色在线观看 | 国产爽的冒白浆的视频高清 | 欧美色综合高清视频在线 | 女人张开腿男人猛桶视频 | 韩国一级黄色大片 | 欧美一级网 | 中国老妇色xxxxx | 99精品视频观看 | 亚洲高清在线观看播放 | 九九九九热精品视频 | 日韩欧美在线视频一区二区 | 亚洲欧美日韩久久一区 | 国产三级精品美女三级 | 成人精品一区二区久久久 | 2019天天操天天干天天透 | 国产乱码精品一区二区三区四川人 | 99视频在线免费看 | 国产精品麻豆一区二区三区v视界 | 亚洲精品午夜在线观看 | 日本aaaa特级毛片 | 在线免费黄色网址 | 手机免费在线看毛片 | 日本高清乱偷www | 国产成人综合精品一区 | 成人黄网18免费观看的网站 | 国产91在线 | 亚洲 | 国产日韩欧美在线观看不卡 | 亚洲日本高清影院毛片 | 在线a人片免费观看国产 | 国产步兵社区视频在线观看 |