promise —— js异步处理对象

最近频繁地使用 js 的 promise 的异步处理对象,来解决相对复杂的异步问题,记个笔记


首先 JavaScript 是一种单线程语言,导致JavaScript的所有网络操作,浏览器事件,都必须是异步执行。

一般而言,异步执行可以用回调函数来实现:

使用回调函数来实现异步


可见,异步操作会在将来的某个时间点触发一个函数调用。古人云:“君子一诺千金”,这种“承诺将来会执行”的对象在JavaScript中称为Promise对象。Promise有各种开源实现,在ES6中被统一规范,由浏览器直接支持。

Promise 对象是一个代理对象(代理一个值),被代理的值在Promise对象创建时可能是未知的。它允许你为异步操作的成功和失败分别绑定相应的处理方法(handlers)。 这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象。

一个 Promise 有以下几种状态:

pending: 初始状态,既不是成功,也不是失败状态。

fulfilled: 意味着操作成功完成。

rejected: 意味着操作失败。

通过完成 promise 对象在这几种状态之间的转换,即可完成异步操作。并且因为 Promise.prototype.then 和  Promise.prototype.catch 方法返回 promise 对象, 所以它们可以被链式调用。


使用 promise 对象进行异步操作

网友评论

0条评论

发表

网友评论

0条评论

发表

最新评论

推荐文章

彩龙

Copyright © 2008-2020 彩龙社区(https://www.clzg.cn) 版权所有 All Rights Reserved.

免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。

经营许可证编号:滇B2-20090009-7

下载我家昆明APP 下载彩龙社区APP