node的异步处理+promise+async

node后端路由

node中的异步处理(前端异步流程)
1. 为什么进行异步操作?
 	- javascript为单线程,一次执行一个任务
2. 前端异步的操作模式
	- 传统方式(回调函数/事件)
 - 前端异步流程工具(封装出来的函数库)
   	- es6 promise
   	- es6 Generator
   	- es6-es8 async函数
    - Node中异步处理工具:nextTick/setImmediate
      	- Node.js全局变量为global
      	- nextTick>回调函数>setImmediate
   - 第三方类库async.js
3. Promise基本用法
- ES6规定,Promise对象是一个构造函数,用来生成Promise实例
  - `resolve`函数的作用是,将Promise对象的状态从“未完成”变为“成功”(即从 `pending` 变为 `resolved`),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去; 
    `reject`函数的作用是,将Promise对象的状态从“未完成”变为“失败”(即从 `pending` 变为 `rejected`),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。
- Promise 实例生成以后,可以用then 方法分别指定resolved状态和rejected状态的回调函数。
- Promise.all([Promise实例1,Promise实例2]),all中依次执行任务,即使有延时任务,也必须等待延时任务结束,后续任务才能执行
- Promise.race([Promise实例1,Promise实例2]),任务快的先执行,其他掩饰任务后续执行
4. Generator函数类似一般声明函数,function*,使用yield关键字来定义任务,返回值是一个对象{value:结果,done:总任务执行的状态},通过next()方法来遍历执行任务
5. async函数的返回值是一个Promise对象,使用then来执行await里面的语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值