node.js之Promise初见
来源:互联网 发布:大屏数据 编辑:程序博客网 时间:2024/06/05 15:02
在node.js中,回调函数的多重嵌套可能会导致代码难以维护。因此,我们借助Promise来封装异步函数,使用统一的链式API来避免函数不断的嵌套匿名函数,脱离这多重回调的麻烦,使代码可读性更强。
简单来说,Promise就是把函数的嵌套改成了并列,使其代码更友好。
Promise对象一般有三种状态:Pending(未完成),Fulfilled(操作成功),Rejected(操作失败)
说说他的一些常用方法:
①then()方法:
then(onFulfilled,onRejected)方法接收两个参数,一般是两个函数,这两个函数是异步执行的,第一个参数用来处理操作成功后的结果,第二个参数用来处理操作失败后的原因。then()方法返回值是一个Promise对象,这一特点使得我们可以通过链式调用then()来达到控制流程的效果。关于then()方法函数的一些细节:
onFullfilled或onRejected函数的返回值如果不是Promise对象,则该值将作为下一个then方法中onFulfilled方法的第一个参数;如果是,则then()方法的返回值为该Promise对象
onFullfilled或onRejected函数若有异常抛出,则该then()方法返回的Promise对象的状态变为Rejected,如果Promise对象调用该then()对象,则该error对象会作为onRejected函数的第一个参数
如果Promise对象的状态变为fulfilled并且then()方法中没有提供onFulfilled函数,则then()方法返回的Promise对象状态仍为fulfilled且成功的结果为上一个Promise的结果。
- node.js之Promise初见
- Node,js 中的Promise
- Promise初见
- [NODE之7]Promise
- node之 promise
- Node.js最新技术栈之Promise篇
- node.js promise 流程控制
- js之初见
- promise架构和node.js的promise用法
- Node.js系列--Promise规范解读
- node.js promise 入门小实例
- Node.js异步编程,promise,fibers
- JS之Promise思维模式
- js之promise(一)
- js异步之promise(ES6)
- JS---初见
- Node.js 101(2): Promise and async
- 在Node.js中使用promise摆脱回调金字塔
- hdoj1715大菲波数(大数+打表,大数斐波那契数列)
- kvo,kvc
- C/C++笔记(C语言重要问题重讲,内存四区篇)
- 分享一个php时间段切分为指定段的函数
- 《leetcode》:Expression Add Operators
- node.js之Promise初见
- 2016微软探星夏令营:#1341 : Constraint Checker
- 简单handler实现闪屏页面跳转
- 初识Elasticsearch搜索引擎
- [HDU 5408] CRB and Farm (几何+凸包)
- Androida百度地图开发之显示百度地图
- 《leetcode》:Perfect Squares
- linux文本处理三剑客(二):sed命令详解
- Codeforces 696A Lorenzo Von Matterhorn ( LCA )