Promise、async和await

1.Promise

Promise 表示一个异步操作的最终完成(或失败)及其结果值。它是一个对象,有三种状态:

Pending(等待):初始状态,未完成。

Fulfilled(已完成):操作成功完成。

Rejected(已拒绝):操作失败。

特点:

通过链式调用(.then()、.catch())管理异步流程。

支持链式操作,避免回调地狱(Callback Hell)。

可以组合多个 Promise(如Promise.all、Promise.race)

2.async

async用于声明一个函数为异步函数。异步函数默认返回一个 Promise 对象:

如果函数返回一个值,Promise 会自动解析为这个值。

如果函数抛出错误,Promise 会被拒绝。

关键点:

异步函数内部可以使用await。

非阻塞:异步函数不会阻塞主线程。

3.await

await只能在async函数内部使用。它的作用是暂停异步函数的执行,等待一个 Promise 完成,并返回 Promise 的结果。

关键点:

await会阻塞当前async函数内的代码,但不会阻塞主线程。

如果等待的 Promise 被拒绝,会抛出异常,需要用try/catch处理错误。

await 必须与 Promise 配合使用,它会等待 Promise 状态变为 fulfilled 或 rejected。

4.错误处理

Promise:使用.catch()或在.then()中处理错误。

async/await:使用try/catch捕获错误。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容