成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript ES6 async/await的簡(jiǎn)單學(xué)習(xí)demo

張遷 / 3001人閱讀

摘要:傳統(tǒng)回調(diào)函數(shù)現(xiàn)在我們要做個(gè)事情,寫個(gè)回調(diào)函數(shù),每秒輸出一個(gè)遞增的數(shù)字,輸出三次普通回調(diào)函數(shù)的寫法現(xiàn)在調(diào)用它現(xiàn)在我們改用來(lái)重寫的函數(shù)我們?cè)谶@里暴露那個(gè)以供調(diào)用現(xiàn)在使用它這里把這個(gè)暴露出去以供使用,記得把本的調(diào)用函數(shù)注釋掉就是行注釋掉

傳統(tǒng)回調(diào)函數(shù)
// demo1-callback.js
/**
    現(xiàn)在我們要做個(gè)事情,寫個(gè)回調(diào)函數(shù),每秒輸出一個(gè)遞增的數(shù)字,輸出三次
    普通回調(diào)函數(shù)的寫法
 */
function logNumber(n, callback){
    setTimeout(() => {
        console.log(n);
        n++;
        callback(n)
    }, 1000);
}
//  現(xiàn)在調(diào)用它
logNumber(1, function(n){
    logNumber(n, function(m){
        logNumber(m, function(q){
            
        })
    })
})
Promise
// demo2-promise.js
/**
    現(xiàn)在我們改用promise來(lái)重寫demo1的函數(shù)
 */
// 我們?cè)谶@里暴露那個(gè)promise以供demo3調(diào)用
function generatorLogNumber(n){
    return new Promise(res => {
        setTimeout(() => {
            console.log(n);
            n++;
            res(n)
        }, 1000);
    })
}
// 現(xiàn)在使用它
generatorLogNumber(1)
    .then(n => {
        generatorLogNumber(n)
        .then(m => {
            generatorLogNumber(m)
            .then(q => {

            })
        })
    })
// 這里把這個(gè)promise暴露出去以供demo3使用,記得把本demo的調(diào)用函數(shù)注釋掉(就是15-24行注釋掉)
module.exports = generatorLogNumber;
async/await
// demo3-async-await.js
/**
    現(xiàn)在我們改用更加方便的async/await方式來(lái)調(diào)用demo2的promise
 */
//  首先把那個(gè)promise引入進(jìn)來(lái)
const generatorLogNumber = require("./demo2-promise.js");

(async () => {//雙括號(hào)表示立即執(zhí)行的匿名函數(shù)
    const n = await generatorLogNumber(1);
    const m = await generatorLogNumber(n);
    const q = await generatorLogNumber(m);
})()
// 可以node demo3-async-await.js 來(lái)運(yùn)行看看

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/108954.html

相關(guān)文章

  • ES6系列文章 異步神器async-await

    摘要:有兩個(gè)陌生的關(guān)鍵字,同時(shí)函數(shù)執(zhí)行結(jié)果似乎返回了一個(gè)對(duì)象。用來(lái)表示函數(shù)是異步的,定義的函數(shù)會(huì)返回一個(gè)對(duì)象,可以使用方法添加回調(diào)函數(shù)。如果的是對(duì)象會(huì)造成異步函數(shù)停止執(zhí)行并且等待的解決如果等的是正常的表達(dá)式則立即執(zhí)行。 視頻講解 關(guān)于異步處理,ES5的回調(diào)使我們陷入地獄,ES6的Promise使我們脫離魔障,終于、ES7的async-await帶我們走向光明。今天就來(lái)學(xué)習(xí)一下 async-a...

    miqt 評(píng)論0 收藏0
  • ES6-7

    摘要:的翻譯文檔由的維護(hù)很多人說(shuō),阮老師已經(jīng)有一本關(guān)于的書了入門,覺(jué)得看看這本書就足夠了。前端的異步解決方案之和異步編程模式在前端開發(fā)過(guò)程中,顯得越來(lái)越重要。為了讓編程更美好,我們就需要引入來(lái)降低異步編程的復(fù)雜性。 JavaScript Promise 迷你書(中文版) 超詳細(xì)介紹promise的gitbook,看完再不會(huì)promise...... 本書的目的是以目前還在制定中的ECMASc...

    mudiyouyou 評(píng)論0 收藏0
  • ES6 系列之我們來(lái)聊聊 Async

    摘要:標(biāo)準(zhǔn)引入了函數(shù),使得異步操作變得更加方便。在異步處理上,函數(shù)就是函數(shù)的語(yǔ)法糖。在實(shí)際項(xiàng)目中,錯(cuò)誤處理邏輯可能會(huì)很復(fù)雜,這會(huì)導(dǎo)致冗余的代碼。的出現(xiàn)使得就可以捕獲同步和異步的錯(cuò)誤。如果有錯(cuò)誤或者不嚴(yán)謹(jǐn)?shù)牡胤?,?qǐng)務(wù)必給予指正,十分感謝。 async ES2017 標(biāo)準(zhǔn)引入了 async 函數(shù),使得異步操作變得更加方便。 在異步處理上,async 函數(shù)就是 Generator 函數(shù)的語(yǔ)法糖。 ...

    Songlcy 評(píng)論0 收藏0
  • ES6 Async/Await 完爆Promise6個(gè)原因

    摘要:以往的異步方法無(wú)外乎回調(diào)函數(shù)和。當(dāng)然,對(duì)這個(gè)新特性也有一定的擔(dān)心,體現(xiàn)在他使得異步代碼變的不再明顯,我們好不容易已經(jīng)學(xué)會(huì)并習(xí)慣了使用回調(diào)函數(shù)或者來(lái)處理異步。 自從Node的7.6版本,已經(jīng)默認(rèn)支持async/await特性了。如果你還沒(méi)有使用過(guò)他,或者對(duì)他的用法不太了解,這篇文章會(huì)告訴你為什么這個(gè)特性不容錯(cuò)過(guò)。本文輔以大量實(shí)例,相信你能很輕松的看懂,并了解Javascript處理異步的...

    shevy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<