async與await以及巨集微任務

2021-10-10 10:41:07 字數 1870 閱讀 1432

乙個正在努力愛好運動的程式猿

座右銘:越努力越幸運,越運動越健康,熱愛程式設計,熱愛運動。

async

functionf(

)//f(); //promise f(

).then

(function

(res)

)async

functionf(

)f()

.then

(res=>);

console.

log(1)

;// 1 1234

// await

// await操作符用於等待乙個promise物件,它只能在非同步函式async function內部使用。

// 返回值:

// 返回promise物件的處理結果,如果待等的不是promise物件,則返回該值本身

// 如果乙個promise被傳遞給乙個await操作符,await將等待promise正常處理完成並返回其處理結果

functionf2(

)async

functionf(

)f()

; console.

log(3)

;//正常情況下,await命令後面是乙個promise物件,它也可以是其它值,如字串,布林值,數值以及普通函式。

console.

log(2)

async

functionfn(

)fn()

console.

log(4)

//await命令後面是乙個promise物件

functionp(

));}

;async

functionfn(

)fn()

//巨集任務  settimeout   setinterval 

//微任務 promise中的then async await

//promise是同步還是非同步?

console.

log(1)

;//同步

let a =

newpromise

((res,rej)

=>);

console.

log(3)

;//同步

let a2 =

newpromise

((res,rej)

=>);

console.

log(5)

;//同步

console.

log(1)

//同步

let a =

newpromise

((res,rej)

=>);

a.then((

)=>

) console.

log(4)

;//同步

let b =

newpromise

((res,rej)

=>);

b.then((

)=>

) console.

log(7)

;//同步

settimeout((

)=>,0

)new

promise

((res,rej)

=>).

then((

)=>

) console.

log(4)

//同步

async

functionf(

)f()

.then

(res=>);

console.

log(1)

;//同步

async和await 巨集任務和微任務

為了使我們的非同步 更像同步的 用法 首先在 function 前面加 async 用來說明這個函式是乙個非同步函式 然後在async裡面寫await await等待當前async function語句內部語句的執行 await接受promise返回的成功或者失敗的內容,若沒有返回值則不繼續向下執行...

await與async簡單理解

使用 async 可以定義乙個 非同步函式 async 函式的實際返回值總是乙個 promise 物件 await的意思就是等待。它後面可以跟乙個表示式。如果是值 如字串 數字 普通物件等等 的話,返回值就是本身的值。await 操作符用於等待乙個 promise 物件,它只能在非同步函式 asyn...

C 非同步程式設計await與async

使用async修飾符可將方法 lambda 表示式或匿名方法指定為非同步。如果對方法或表示式使用此修飾符,則其稱為非同步方法 class program public async static task runtimeasync 在非同步函式中,await之後會自動建立出乙個執行緒。執行結果就可以看...