Es6 async 函數(shù)

圖片來(lái)源于網(wǎng)絡(luò)

1、 async函數(shù)返回一個(gè) Promise 對(duì)象。

async function f() {
  return 'hello world';
}

f().then(v => console.log(v))
// "hello world"

2、async函數(shù)內(nèi)部拋出錯(cuò)誤,會(huì)導(dǎo)致返回的 Promise 對(duì)象變?yōu)閞eject狀態(tài)。拋出的錯(cuò)誤對(duì)象會(huì)被catch方法回調(diào)函數(shù)接收到。

async function f() {
  throw new Error('出錯(cuò)了');
}

f().then(
  v => console.log(v),
  e => console.log(e)
)
// Error: 出錯(cuò)了

3、只有async函數(shù)內(nèi)部的異步操作執(zhí)行完,才會(huì)執(zhí)行then方法指定的回調(diào)函數(shù)。

//網(wǎng)絡(luò)請(qǐng)求
function request(){
    return $.ajax({
        url:"./data.json",
        type: 'post',
        dataType: 'json',
        success: function (data, status) {
            return data
        },
        fail: function (err, status) {
            return err
        }
    })
}

async function getData(){
    let rquery = await request()
    return rquery
}


// 調(diào)用
    getData().then(
        v => console.log(v),
        e => console.log(e)
    )

4、如果我們希望即使前一個(gè)異步操作失敗,也不要中斷后面的異步操作。這時(shí)可以將第一個(gè)await放在try...catch結(jié)構(gòu)里面,這樣不管這個(gè)異步操作是否成功,第二個(gè)await都會(huì)執(zhí)行。

參考文摘: https://www.cnblogs.com/zczhangcui/p/6642144.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 異步編程對(duì)JavaScript語(yǔ)言太重要。Javascript語(yǔ)言的執(zhí)行環(huán)境是“單線(xiàn)程”的,如果沒(méi)有異步編程,根本...
    呼呼哥閱讀 7,404評(píng)論 5 22
  • async 函數(shù) 含義 ES2017 標(biāo)準(zhǔn)引入了 async 函數(shù),使得異步操作變得更加方便。 async 函數(shù)是...
    huilegezai閱讀 1,315評(píng)論 0 6
  • 原文連接:https://blog.csdn.net/sinat_17775997/article/details...
    小豆soybean閱讀 4,367評(píng)論 0 7
  • 世界好小,小到我們以為走遠(yuǎn),卻逃不開(kāi)彼此的眼睛;世界真大,大到我們相識(shí)多年,卻走不進(jìn)彼此的心里!
    新月微雨閱讀 138評(píng)論 0 0
  • 一、風(fēng)味手撕牛肉 原料: 牛腱500克。 調(diào)料: 排骨醬50克,叉燒醬100克,金標(biāo)老抽30克,十三香15克,孜然...
    廖相暉閱讀 580評(píng)論 0 0

友情鏈接更多精彩內(nèi)容