promise
是es6
的一个语法规范,可以解决回调嵌套(地狱)的问题
promise
构造函数有一个参数,这个参数是一个函数
这个函数也有两个参数,分别是执行成功后的回调函数和执行失败后的回调函数
reslove
:成功之后的回调函数
reject
:执行失败后的回调函数
注:另准备三个TXT做示例
const fs = require('fs');
let p1 = new Promise((reslove, reject) => {
fs.readFile('./a.txt', 'utf-8', (err, data) => {
if (err) {
reject(err);
} else {
reslove(data);
}
})
})
let p2 = new Promise((reslove, reject) => {
fs.readFile('./b.txt', 'utf-8', (err, data) => {
if (err) {
reject(err);
} else {
reslove(data);
}
})
})
let p3 = new Promise((reslove, reject) => {
fs.readFile('./c.txt', 'utf-8', (err, data) => {
if (err) {
reject(err);
} else {
reslove(data);
}
})
})
//执行promise的操作
p1
//.then(传入执行成功后的回调)
//.catch(传入执行失败后的回调)
.then((data) => {
console.log(data);
//返回下一个promise对象,那么就可以继续执行下一个promise操作
return p2
})
.then((data) => {
console.log(data);
//返回下一个promise对象,那么就可以继续执行下一个promise操作
return p3
})
.then((data) => {
console.log(data);
})
.catch((err) => {
console.log(err);
})
效果
版权声明:本文为weixin_47886687原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。