初步了解 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的成功的结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本