中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nodejs學習筆記之async,await

發布時間:2020-07-21 10:24:19 來源:網絡 閱讀:2496 作者:lixiaoyu1223 欄目:開發技術

async應該是目前nodejs里最簡單直白的異步方案了,async函數實際上就是generator函數的語法糖,省掉了callback的回調地獄,generator的yield next,promise的 .then .catch,使代碼看起來更像是同步流程方案,更扁平化。下面看個例子:

這里我們要實現一個暫停功能,輸入N毫秒,則停頓N毫秒后才繼續往下執行。

// 這里是一個功能函數 也可以是其他比較耗時的操作。
var sleep = function (time) { 
    return new Promise(function (resolve, reject) {
        setTimeout(function () {
            resolve();
        }, time);
    })};
var start = async function () {
    // 在這里使用起來就像同步代碼那樣直觀
    console.log('start');
    await sleep(3000);
    console.log('end');
  };
start();

控制臺先輸出start,稍等3秒后,輸出了end。

async函數使用方式:

    // async 必不可少 是async函數的標志
    async function myFunc(){
        ... //普通代碼
        await ... // 1 耗時代碼 或執行耗時函數 執行并等待完成之后繼續執行下面的代碼
        let res = await ... // 2 耗時代碼 或執行耗時函數 并得到返回結果
        ...
    }


錯誤捕捉方式:

// async 使用try.catch捕捉錯誤
async function myFunc(){
    try{
        ...
        await ...
    } catch(e) {
        throw e;
    }
}

本文參考http://cnodejs.org/topic/5640b80d3a6aa72c5e0030b6

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西乌珠穆沁旗| 莱芜市| 义乌市| 宜州市| 新民市| 福鼎市| 岑溪市| 莎车县| 涡阳县| 五大连池市| 洮南市| 兴义市| 平昌县| 象州县| 辉南县| 延津县| 昭平县| 勃利县| 凉山| 古交市| 邵东县| 苗栗市| 安平县| 舒城县| 金山区| 岢岚县| 屏边| 洛南县| 安塞县| 新竹县| 旬阳县| 中方县| 中阳县| 台湾省| 望城县| 甘南县| 都江堰市| 古田县| 象山县| 曲松县| 邳州市|