利用Promise解决回调地狱问题
代码展示:
const fs = require('fs');
// 创建promise对象
// let promise = new Promise((reslove,reject)=>{
// fs.readFile('./1.txt','utf-8',(err,result)=>{
// if(err!=null){
// // 传给外部then方法
// reject(err);
// }else{
// // 传给外部catch方法
// reslove(result);
// }
// })
// })
function p1() {
// 返回promise对象
return new Promise((reslove,reject)=>{
fs.readFile('./1.txt','utf-8',(err,result)=>{
if(err!=null){
// 传给外部then方法
reject(err);
}else{
// 传给外部catch方法
reslove(result);
}
})
})
}
function p3() {
// 返回promise对象
return new Promise((reslove,reject)=>{
fs.readFile('./3.txt','utf-8',(err,result)=>{
if(err!=null){
// 传给外部then方法
reject(err);
}else{
// 传给外部catch方法
reslove(result);
}
})
})
}
function p2() {
// 返回promise对象
return new Promise((reslove,reject)=>{
fs.readFile('./2.txt','utf-8',(err,result)=>{
if(err!=null){
// 传给外部then方法
reject(err);
}else{
// 传给外部catch方法
reslove(result);
}
})
})
}
p1()
.then((res)=>{//接收reslove传过来的参数
console.log(res);
return p2();
})
.then(res=>{//接收reslove传过来的参数
console.log(res);
return p3();
})
.then(res=>{//接收reslove传过来的参数
console.log(res);
})