在 JavaScript 中,promise 和 async/await 是处理异步操作的两种不同方式。但它们是密切相关的。
promise 是最终导致异步操作完成或失败的对象。承诺可以处于以下三种状态之一:挂起、已履行或拒绝。异步操作完成后,承诺要么以值实现,要么因错误而被拒绝。
// Using Promises
function promiseFunction() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Resolved");
}, 2000);
})
}
console.log("Start");
promiseFunction()
.then((result) => {
console.log(result);
console.log("End");
})
.catch((error)=>{
console.log(error)
});
Output:
Start
Resolved
End
Async/await 是 promise 之上的语法糖。它提供了一种更简洁的异步代码编写方法,使其更易于读取和编写。使用 Async/Await,您可以编写类似于同步代码的异步代码,并且它在后台使用承诺。
在 async/await 中, async
关键字用于声明异步函数。关键字 await
用于等待承诺解析,然后再继续执行函数。关键字 await
只能在 async
函数中使用。
// Using Async/Await
async funct