久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

javascript - Async/Await報錯

瀏覽:91日期: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
相關文章:
主站蜘蛛池模板: 久久不色| 成人精品一区二区三区 | 成人午夜免费视频 | 蜜臀91精品国产高清在线观看 | 国产精品视屏 | 性一级录像片片视频免费看 | 一级欧美 | 亚洲网站在线免费观看 | 成人免费的视频 | 91免费看网站 | 一二三四区视频在线观看 | 奇米色777欧美一区二区 | 干干干操操操 | 国产精品久久久久久久久岛 | 日本久久精品视频 | 精品亚洲一区二区三区 | www.在线播放 | 国产精品一区二区三区在线免费观看 | 精品香蕉一区二区三区 | 精品999 | 国产丝袜视频 | 成人黄色在线观看 | 久久久久久久久久久久99 | 国产精品久久久久久久久久久久久 | 国产精品一区二区视频 | 成人精品视频一区二区三区 | 久久久久国产一区二区三区 | 亚洲资源站| 日韩第1页 | 国产中文字幕一区二区三区 | 一级片在线观看 | 色女人av | 日本免费不卡 | 国产精精品 | 久久porn | 精品一区二区三区四区视频 | 成人福利在线观看 | 日本二区视频 | 午夜精品91 | 亚洲国产精品久久久久婷婷老年 | 日本一区二区不卡 |