nodejs中的promise基本操作

Javascript的特点是异步,Javascript不能等待,如果你实现某件需要等待的事情,你不能停在那里一直等待结果回来,相反,底线是使用回调callback:你定义一个函数,这个函数只有等到结果可用时才能被调用。

这种回调模型对于好的代码组织是没有问题的,但是也可以通过从原始回调切换到promise解决很多问题,将promise看成是一个标准的数据容器,这样会简化你的代码组织,可以成为基于promise的架构。

1.为什么要使用promise

2.Promise基本使用

promise介绍:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise

3.promise参数resolve和reject

两个参数

  • resolve 异步执行成功的回调函数,
  • reject异步执行失败的回调函数

4.解决回调地狱问题

注意:上面一定会保证按照.then的顺序去执行异步的代码,
如果某个异步任务有错误则会触发对应then的第二个错误的回调函数。即每个promise对象都有对应的错误回调,对其他的promise不影响。毕竟promise的英文翻译就是保证。

5.catch的使用

catch也是在Promise.prototype原型上定义的。

191210-sfsdfsdfwer

需求:如果多个promise任务,其中有一个失败了,则终止后面的所有的promise执行

注意:如果在then中定义了错误回调则不会进入到上面的catch中,这是因为promise对象指定了对应的错误处理回调。

6 then-catch-finally

7. Promise.all静态方法的使用

参照:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise#%E6%96%B9%E6%B3%95
需求:把所有的promise执行成功的结果保存在一个数组中。。

若都成功,运行结果:['333','111','22']

注意:Promise.all的成功结果是返回一个数组,且数组中数据的结果顺序与Promise.all数组的传参顺序是一样的。

原文:https://www.jianshu.com/p/c2ff916fadc5

承接各种网站开发与修改、爬虫、数据采集分析、小程序等任务

Html+Css+JS+PHP+Nodejs+Python

专治网站各种不服

一起探讨,互相学习,共同进步!有事儿您说话。

This entry was posted in NodeJS and tagged , by 织梦先生. Bookmark the permalink.