ES6 async、await的基本使用方法示例
本文實(shí)例講述了ES6 async、await的基本使用方法。分享給大家供大家參考,具體如下:
async是異步編程的最新標(biāo)準(zhǔn),我們來(lái)看看async如何使用
1.async的簡(jiǎn)單使用
async function fn () { return 'abc' } console.log(fn()); // Promise { 'abc' } fn().then(res => { console.log(res); // "abc" })
async作為關(guān)鍵字放在函數(shù)前面,讓同步的函數(shù)成為異步函數(shù),不關(guān)函數(shù)里返回什么,打印出還是promise,說(shuō)明async還是基于promise的,async的異步方式還是比promise更加簡(jiǎn)單優(yōu)雅的。
2.await的簡(jiǎn)單使用
// 這里模擬一個(gè)耗時(shí)操作 function asyncFunc() { return new Promise( resolve => { setTimeout(() => { resolve(100) }, 1000); }) } async function fn () { let a = await asyncFunc(); console.log(a); // 100 } fn()
一秒后打印出了100,async和await搭配使用,await可以接收異步函數(shù),整個(gè)過程看上去有點(diǎn)像同步代碼,但其實(shí)是異步操作。
我們?cè)趂n()上加上一行代碼
async function fn () { let a = await asyncFunc(); console.log(a); // 100 console.log(200); // 200 }
執(zhí)行上面代碼看到兩次都是在暫停一秒打印出來(lái)的,這說(shuō)明await的后面如果是promise(耗時(shí)操作),它會(huì)阻塞整個(gè)函數(shù),下面的代碼不會(huì)執(zhí)行。
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JS基于ES6新特性async await進(jìn)行異步處理操作示例
- 詳解ES6之a(chǎn)sync+await 同步/異步方案
- ES6新特性八:async函數(shù)用法實(shí)例詳解
- es6學(xué)習(xí)筆記之Async函數(shù)基本教程
- es6學(xué)習(xí)筆記之Async函數(shù)的使用示例
- ES6的異步操作之promise用法和async函數(shù)的具體使用
- ES6中異步對(duì)象Promise用法詳解
- ES6的Fetch異步請(qǐng)求的實(shí)現(xiàn)方法
- 詳解ES6 系列之異步處理實(shí)戰(zhàn)
- 詳解ES6中的三種異步解決方案
相關(guān)文章
一個(gè)簡(jiǎn)單的js鼠標(biāo)劃過切換效果
一個(gè)實(shí)用的簡(jiǎn)單的鼠標(biāo)劃過切換效果,附帶ie6兼容png js2010-06-06

動(dòng)態(tài)的創(chuàng)建一個(gè)元素createElement及刪除一個(gè)元素

javascript的慣性運(yùn)動(dòng)實(shí)現(xiàn)代碼實(shí)例

微信小程序 scroll-view 實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)功能

JavaScript Accessor實(shí)現(xiàn)說(shuō)明

深入探討JavaScript異步編程中Promise的關(guān)鍵要點(diǎn)

uni-app使用uploadFile上傳多張圖片的具體實(shí)現(xiàn)