ES6 async、await的基本使用方法示例
本文實(shí)例講述了ES6 async、await的基本使用方法。分享給大家供大家參考,具體如下:
async是異步編程的最新標(biāo)準(zhǔn),我們來看看async如何使用
1.async的簡單使用
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,說明async還是基于promise的,async的異步方式還是比promise更加簡單優(yōu)雅的。
2.await的簡單使用
// 這里模擬一個(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í)是異步操作。
我們在fn()上加上一行代碼
async function fn () {
let a = await asyncFunc();
console.log(a); // 100
console.log(200); // 200
}
執(zhí)行上面代碼看到兩次都是在暫停一秒打印出來的,這說明await的后面如果是promise(耗時(shí)操作),它會(huì)阻塞整個(gè)函數(shù),下面的代碼不會(huì)執(zhí)行。
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(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é)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
在JavaScript中實(shí)現(xiàn)保留兩位小數(shù)的方法小結(jié)
在JavaScript中,處理數(shù)字并格式化它們以顯示特定的小數(shù)位數(shù)是一個(gè)常見的需求,特別是,當(dāng)你需要顯示貨幣、測量值或其他需要精確到兩位小數(shù)的數(shù)據(jù)時(shí),本文將詳細(xì)介紹幾種在JavaScript中實(shí)現(xiàn)保留兩位小數(shù)的方法,需要的朋友可以參考下2024-11-11
JavaScript設(shè)計(jì)模式之工廠模式簡單實(shí)例教程
這篇文章主要介紹了JavaScript設(shè)計(jì)模式之工廠模式,結(jié)合完整實(shí)例形式分析了工廠模式的概念、原理及javascript定義與使用工廠模式的相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
JS組件Bootstrap dropdown組件擴(kuò)展hover事件
bootstrap的下拉組件,需要點(diǎn)擊click時(shí),方可展示下拉列表。因此對于喜歡簡單少操作的大家來說,點(diǎn)擊一下多少帶來不便,因此,引入hover監(jiān)聽,鼠標(biāo)經(jīng)過自動(dòng)展示下拉框。這篇文章主要介紹了JS組件Bootstrap dropdown組件擴(kuò)展hover事件,感興趣的小伙伴們可以參考一下2016-04-04
uniapp項(xiàng)目實(shí)踐封裝通用請求上傳以及下載方法總結(jié)
在日常開發(fā)過程中,前端經(jīng)常要和后端進(jìn)行接口聯(lián)調(diào),獲取并且渲染數(shù)據(jù)到頁面中,接下來就總結(jié)一下?uniapp?中獲取請求、文件下載和上傳的一些方法2023-09-09
HTML+CSS+JavaScript實(shí)現(xiàn)放大鏡效果
這篇文章主要為大家詳細(xì)介紹了HTML+CSS+JavaScript實(shí)現(xiàn)放大鏡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07

