JS中的async await的用法和理解

2022-07-16 04:24:13 字數 1793 閱讀 6576

1、首先需要理解async 和 await的基本含義

async 是乙個修飾符,async 定義的函式會預設的返回乙個promise物件resolve的值,因此對async函式可以直接進行then操作,返回的值即為then方法的傳入函式

//

0. async基礎用法測試

async

function

fun0()

fun0().then( x => ) //

輸出結果 1, 1,

async

function

funa()

funa().then( x => ) //

輸出結果a, a,

async

function

funo() )

return{}}

funo().then( x => ) //

輸出結果 {} {}

async

function

funp() )

}funp().then( x => ) //

輸出promise promise

await 也是乙個修飾符,

await 關鍵字 只能放在 async 函式內部, await關鍵字的作用 就是獲取 promise中返回的內容, 獲取的是promise函式中resolve或者reject的值

// 如果await 後面並不是乙個promise的返回值,則會按照同步程式返回值處理

//

await 關鍵字 只能放在 async 函式內部, await關鍵字的作用 就是獲取 promise中返回的內容, 獲取的是promise函式中resolve或者reject的值

//如果await 後面並不是乙個promise的返回值,則會按照同步程式返回值處理,為undefined

const bbb = function()

async

function

funasy() , 3000)

})const c =await bbb()

console.log(a, b, c)

}funasy()

//執行結果是 3秒鐘之後 ,輸出 1, time , string,

//

2.如果不使用promise的方法的話

function

log2(time) , time)

}async

function

fun1()

fun1()

//以上執行結果為: 立刻輸出undefined 立刻輸出1 2秒後輸出2000 5秒後輸出5000 10秒後輸出10000

2、那麼由此看來async / await的綜合用法如下

//

1.定義乙個或多個普通函式,函式必須返回promise物件,如果返回其他型別的資料,將按照普通同步程式處理

function

log(time) , time)

})}async

function

fun()

fun()

//

3. async / await的重要應用

const asy = function

(x, time) , time)

})}const add = async function

() add();

//5秒後輸出3 又10秒後輸出4 又15秒後輸出5 然後立刻輸出3,4,5,然後輸出12

JS中的async await的用法和理解

1 首先需要理解async 和 await的基本含義 async 是乙個修飾符,async 定義的函式會預設的返回乙個promise物件resolve的值,因此對async函式可以直接進行then操作,返回的值即為then方法的傳入函式 0.async基礎用法測試 async function fu...

JS中的async await的用法和理解

1 首先需要理解async 和 await的基本含義 async 是乙個修飾符,async 定義的函式會預設的返回乙個promise物件resolve的值,因此對async函式可以直接進行then操作,返回的值即為then方法的傳入函式 0.async基礎用法測試 async function fu...

JS中的async await的用法和理解

1 首先需要理解async 和 await的基本含義 async 是乙個修飾符,async 定義的函式會預設的返回乙個promise物件resolve的值,因此對async函式可以直接進行then操作,返回的值即為then方法的傳入函式 0.async基礎用法測試 async function fu...