初步了解 promise-03 简单封装promise 方法

promise 两个作用

1、解决回调地狱(e恶魔金字塔)链式调用

2、同步”异步的执行结果
简单封装 promise 实现读取文件

有3个平级的文件 a.txt, b.txt, c,txt 其中 a里的内容是b.txt , b里的内容是c.txt , c 里放的是“hello”;
使用 promise 层层 读取到 c里的内容
let fs =require(“fs”);

//封装promise 方法
function read(filePath,encoding){
    
    
    return new Promise((resolve,reject)=>{
    
    
        fs.readFile(filePath,encoding,(err,data)=>{
    
    
            if (err) reject(err);
            resolve(data);
        })
    })
}
 
// 调用封装的promise
read("a.txt","utf8").then(data=>{
    
    
    return read(data,"utf8");
}).then((data)=>{
    
    
    return read(data,"utf8");
}).then(data=>{
    
    
    console.log(data);
})

运行结果显示的 是 “hello”

结论:
1.如果一个promise执行完后 返回的还是一个promise,会把这个promise 的执行结果,传递给下一次then中
2.如果then中返回的不是promise 是一个普通值,会将这个普通值作为下次then的成功的结果

小程序看面试题更方便

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42981560/article/details/113698344
今日推荐