Promise
Promise是一个js的内置对象,用于处理异步等待的对象 写法如下:
return new Promise((resolve,reject)=>{
resolve(数据内容)
})
async
当我们将一个函数声明为 async 时,该函数会返回一个 Promise。如果函数返回的是非 Promise 值,async 函数会自动将其包装成一个已经解决(fulfilled)的 Promise。
await
只能在 async 函数内部使用。它会让异步操作暂停执行,等待 Promise 被解决或拒绝后继续执行,并返回 Promise 的结果。
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error('Error:', error);
}
}
fetchData();
总结
在以上例子中,fetchData 是一个 async 函数,它使用 await 关键字来等待 fetch 请求的结果。fetch 返回一个 Promise,当这个 Promise 解决时,response.json() 也会返回一个 Promise,我们再次使用 await 来获取解析后的数据。如果过程中有任何错误发生,会被 catch 块捕获。
-
使用 Promise 可以让你的代码更加结构化,避免了回调地狱的问题。
-
async/await 让异步代码更加线性,易于理解和维护。
-
这些工具一起使用可以大大简化复杂的异步操作流程,提高开发效率。