异步:多个操作可以同时进行
Promeise
Promeise对象,用来传递异步操作的数据。
Promeise方法
pending(等待)=> Resolve(完成)
=> Rejected(失败)
cathch(捕获错误、捕获throw)
all(用户将多个promise对象组合,包装成一个全新的promise实例)
race(返回最先能执行的promise结果)
reject(错误信息放里面)
resolve(正确新信息放里面)
Promeise
先了解一个概念:
异步:多个操作可以同时进行
Promeise基本概念
Promeise是什么?
Promeise有哪些状态,什么意思?
Promeise有什么特点?
Promeise是什么
Promeise是一个对象,用来传递异步操作。
Promeise有哪些状态,什么意思?
Promeise代表一个异步操作对象有三种状态:
1.Pending(进行中)
2.Resolved(已完成)
3.Rejected(已失败)
Promeise的特点
Promise对象状态不受影响且不可改变:
Promise对象状态只能是
Pending => Resolved
Pending => Rejected
两种情况,Pending状态进入下一个状态后就会一直保持这个结果。
Promise的基本用法
const fs = require('fs')
fs.readFile('index.html', (err, data) => {
let p = new Promise( (resolve, reject) => { err ? reject(err) : resolve(data) })
p.then(
(resval) => { console.log(resval.toString()) },
(rejval) => { console.log(rejval) })
})
- 上面代码中变量p是一个Promise对象
- 对象p具有then方法
- then方法下有两个函数
- 第一个函数执行resolve状态,第二个函数执行reject状态
- 而then方法执行哪个状态要看let p = new Promise( 里面是什么状态 )
网友评论