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

資訊專欄INFORMATION COLUMN

1 分鐘讀完《10 分鐘學(xué)會(huì) JavaScript 的 Async/Await》

wapeyang / 1892人閱讀

摘要:分鐘讀完以前我們使用。把異步變成了同步。允許同時(shí)執(zhí)行所有的異步函數(shù)函數(shù)總耗時(shí)為秒的耗時(shí)。的錯(cuò)誤處理在語(yǔ)法中,我們可以使用進(jìn)行錯(cuò)誤處理。在中的分支會(huì)進(jìn)入語(yǔ)句。閱讀原文討論地址分鐘學(xué)會(huì)的如果你想?yún)⑴c討論,請(qǐng)點(diǎn)擊這里

1 分鐘讀完 JavaScript Async/Await Explained in 10 Minutes

以前我們使用 callback。

后來(lái)我們使用 Promise。

現(xiàn)在我們使用 Async/Await。

1、什么是 Async/Await?

Async - 定義異步函數(shù)(async function someName(){...})

自動(dòng)把函數(shù)轉(zhuǎn)換為 Promise

當(dāng)調(diào)用異步函數(shù)時(shí),函數(shù)返回值會(huì)被 resolve 處理

異步函數(shù)內(nèi)部可以使用 await

Await - 暫停異步函數(shù)的執(zhí)行 (var result = await someAsyncCall();)

當(dāng)使用在 Promise 前面時(shí),await 等待 Promise 完成,并返回 Promise 的結(jié)果

await 只能和 Promise 一起使用,不能和 callback 一起使用

await 只能用在 async 函數(shù)中

2、Async/Await 是否會(huì)取代 Promise

不會(huì)。

Async/Await 底層依然使用了 Promise。

多個(gè)異步函數(shù)同時(shí)執(zhí)行時(shí),需要借助 Promise.all

async function getABC() {
  let A = await getValueA(); // getValueA 花費(fèi) 2 秒
  let B = await getValueB(); // getValueA 花費(fèi) 4 秒
  let C = await getValueC(); // getValueA 花費(fèi) 3 秒

  return A*B*C;
}

每次遇到 await 關(guān)鍵字時(shí),Promise 都會(huì)停下在,一直到運(yùn)行結(jié)束,所以總共花費(fèi)是 2+4+3 = 9 秒。await 把異步變成了同步。

async function getABC() {
  // Promise.all() 允許同時(shí)執(zhí)行所有的異步函數(shù)
  let results = await Promise.all([ getValueA, getValueB, getValueC ]); 

  return results.reduce((total,value) => total * value);
}

函數(shù)總耗時(shí)為 4 秒(getValueB 的耗時(shí))。

3、Async/Await 的錯(cuò)誤處理

在 Async/Await 語(yǔ)法中,我們可以使用 try/catch 進(jìn)行錯(cuò)誤處理。在 Promise 中的 .catch() 分支會(huì)進(jìn)入 catch 語(yǔ)句。

閱讀原文:JavaScript Async/Await Explained in 10 Minutes

討論地址:10 分鐘學(xué)會(huì) JavaScript 的 Async/Await

如果你想?yún)⑴c討論,請(qǐng)點(diǎn)擊這里

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

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

相關(guān)文章

  • ES6-7

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

    mudiyouyou 評(píng)論0 收藏0
  • 前端基礎(chǔ)

    摘要:談起閉包,它可是兩個(gè)核心技術(shù)之一異步基于打造前端持續(xù)集成開(kāi)發(fā)環(huán)境本文將以一個(gè)標(biāo)準(zhǔn)的項(xiàng)目為例,完全拋棄傳統(tǒng)的前端項(xiàng)目開(kāi)發(fā)部署方式,基于容器技術(shù)打造一個(gè)精簡(jiǎn)的前端持續(xù)集成的開(kāi)發(fā)環(huán)境。 這一次,徹底弄懂 JavaScript 執(zhí)行機(jī)制 本文的目的就是要保證你徹底弄懂javascript的執(zhí)行機(jī)制,如果讀完本文還不懂,可以揍我。 不論你是javascript新手還是老鳥(niǎo),不論是面試求職,還是日...

    graf 評(píng)論0 收藏0
  • Javascript異步編程:Callback、Promise、Generator

    摘要:異步過(guò)程控制了解異步的意義之后,我們來(lái)對(duì)比目前主流幾種異步過(guò)程控制方法,探討一下異步編程的最佳實(shí)踐。結(jié)語(yǔ)希望本文對(duì)大家有點(diǎn)幫助,能更深刻的理解異步編程,能寫(xiě)出更優(yōu)雅更高效的代碼。 同步和異步(Synchronous and Asynchronous) 了解javascript的同學(xué)想必對(duì)同步和異步的概念應(yīng)該都很熟悉了,如果還有不熟悉的同學(xué),我這里舉個(gè)形象的例子,比如我們?cè)缟掀鸫埠笠扇?..

    dadong 評(píng)論0 收藏0
  • 5分鐘掌握JavaScript小技巧

    摘要:譯者按技巧雖好重在掌握并使用起來(lái)原文譯者為了保證可讀性,本文采用意譯而非直譯。從數(shù)組中移除重復(fù)元素中,有了集合的語(yǔ)法。自從年雙十一正式上線,累計(jì)處理了億錯(cuò)誤事件,得到了金山軟件等眾多知名用戶的認(rèn)可。 譯者按: 技巧雖好、重在掌握并使用起來(lái)! 原文: Learn these neat JavaScript tricks in less than 5 minutes 譯者: Funde...

    tulayang 評(píng)論0 收藏0
  • 前端學(xué)習(xí)資源

    摘要:提供了完整的環(huán)境,并且支持自定義域名指向,動(dòng)態(tài)計(jì)算資源調(diào)整,可以完成各種應(yīng)用的開(kāi)發(fā)編譯與部署。 react 新特性 react16 Context 算法相關(guān) 圖解排序算法(二)之希爾排序 微信小程序 微信小程序組件化的解決方案移動(dòng)端尺寸基本知識(shí) 瀏覽器 前端必讀:瀏覽器內(nèi)部工作原理瀏覽器緩存原理解讀瀏覽器加載css和js及dom解析之間的關(guān)系瀏覽器緩存 CSS學(xué)習(xí) 移動(dòng)web開(kāi)發(fā)布局入...

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

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

0條評(píng)論

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