// 先構造乙個 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語句很容易讓人感到迷茫,而它...