promise 和 async 的用法

2022-07-30 15:51:12 字數 1250 閱讀 1980

// 先構造乙個 promise 函式

// resolve 和 reject 都是乙個函式

// resolve 在成功時呼叫

// reject 在失敗時呼叫

function promise() , 1000)

} else , 1000)}})

}// then 和 catch 第乙個引數為resolve狀態時的**,第二個引數為reject狀態時的**

// catch 相當於 then(null, reject)

promise().then(

(resolve) => console.log('then', resolve)

).catch(

(reject) => console.log('catch', reject)

)// then 後面還可以接 then 一直鏈式呼叫

// 第乙個 then 接受的引數是 resolve 函式傳過來的引數

// 第二個 then 接受乙個引數是第乙個 then 返回的值

promise().then(

(resolve) => (resolve + 1) // 接受 resolve 返回 resolve + 1

).then(

(plusone) => console.log(plusone) // 接受 resolve +1 並列印

).catch(

(reject) => console.log('catch', reject)

)

// 同樣需要乙個 promise 物件

function promise() , 1000)

} else , 1000)}})

}// 只是呼叫的方法跟 then/catch 不一樣

// async 函式執行時,一旦遇到 await 就會先返回,等非同步操作完成,再接著執行後面的操作

async function async()

// async 函式返回 promise 物件

// 只有函式內的 await 語句全部執行完,或者遇到 return 或 丟擲錯誤,才會發生狀態改變

// 如果發生錯誤或狀態為 reject 則執行 catch

async().then(

(res) => console.log(res)

).catch(

(e) => console.log(e)

)

promise與async和await的區別

什麼是async await?async await是寫非同步 的新方式,以前的方法有 函式和promise。async await是基於promise實現的,它不能用於普通的 函式。async await與promise一樣,是非阻塞的。async await使得非同步 看起來像同步 這正是它的魔...

promise與async和await的區別

什麼是async await?async await是寫非同步 的新方式,以前的方法有 函式和promise。async await是基於promise實現的,它不能用於普通的 函式。async await與promise一樣,是非阻塞的。async await使得非同步 看起來像同步 這正是它的魔...

async 與 promise 的區別

async await是基於promise實現的,他不能用於普通的 函式 async await使得非同步 看起來像同步 async await與promise一樣,是非阻塞的。const makerequest else 這些 看著就頭痛。巢狀 6層 括號,return語句很容易讓人感到迷茫,而它...