promise异步函数

作者: 不叫ShaoYu的老王同学 | 来源:发表于2017-12-04 21:28 被阅读7次

promise的含义

Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。

promise的三个状态

pending(进行中),fulfilled(成功),rejected(失败)

promise的两个特点:

1.对象的状态不受外界因素影响。只有异步操作的结果才能改变但前状态(pending->fulfilled或pending->rejected)

2.函数只执行一遍即一旦改变状态,就不在变了,在任何时候都能得到这个结果。(有点像全局作用域似的)

有了Promise对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise对象提供统一的接口,使得控制异步操作更加容易。

promise的缺点

Promise也有一些缺点。首先,无法取消Promise,一旦新建它就会立即执行,无法中途取消。其次,如果不设置回调函数,Promise内部抛出的错误,不会反应到外部。第三,当处于pending状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成)。

如果某些事件不断地反复发生,一般来说,使用Stream模式(流模式)是比部署Promise更好的选择。

ES6 规定,Promise对象是一个构造函数,用来生成Promise实例。具体参见(http://es6.ruanyifeng.com/#docs/promise

相关文章

  • 循环多个 Promise 异步函数

    了解Promise 循环多个 Promise 异步函数

  • 【Dart】异步函数

    异步函数 JavaScript中,异步调用通过Promise来实现async函数返回一个Promise。await...

  • Promise基础教程

    定义异步函数 定义 Promise

  • Promise函数介绍和用法

    Promise函数(异步请求操作可用) Promise用法 Promise其实是一个构造函数 ! 使用方法如下: ...

  • Promise

    Promise对象就是一个异步请求占位符对象 把异步请求封装在Promise对象中,Promise的构造函数传入一...

  • part1整理

    函数式编程:JavaScript函数式编程指南 异步编程:异步编程 Promise源码 JavaScript基础知...

  • await 和 async 的用法

    复习Promise async是什么? async和Promise有关 可以让异步函数更像同步函数 async f...

  • Promise与Callback函数

    Promise与callback函数处理 异步 对比 1,callback函数处理异步:代码逻辑复杂,可读性差--...

  • Promise与callback函数处理 异步对比

    Promise与callback函数处理 异步 对比 1,callback函数处理异步:代码逻辑复杂,可读性差--...

  • Promise简单总结

    Promise代表一个异步操作。 创建一个Promise实例 Promise构造函数接收一个参数,该参数是一个异步...

网友评论

    本文标题:promise异步函数

    本文链接:https://www.haomeiwen.com/subject/uxrfixtx.html