Promise、async、await

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 让异步代码更加线性,易于理解和维护。

  • 这些工具一起使用可以大大简化复杂的异步操作流程,提高开发效率。

posted @ 2024-11-24 22:00  DAawson  阅读(29)  评论(0)    收藏  举报