- 1
- 0
- 约6.56千字
- 约 8页
- 2026-02-22 发布于北京
- 举报
AsyncawaitPromise
Asyncawait是异步的终极解决方案
这里的业务就是1.txt根据1.txt中的文件路径继续别的文件,相比
之前回调函数的阅读性,Promise确实强了不少,但我们总觉得类似于这种业务我们
能不能有一个更好的解决方案
functionreadFile(path){1returnnewPromise((resolve,reject)={2
fs.readFile(path,utf8,(err,data)={3if(err){4reject(err);//出错了我们调用reject传递错误
对象5}else{6resolve(data);//成功使用resolve7}8})9})10}11readFile(1.txt).then(s
={12returnreadFile(s.toString());//返回Promise对象读出数据2.txt13}).then(s={14
returnreadFile(s.toString());//返回Promise对象读出数据3.txt15}).then(s={16
console.log(s)//返回Promise对象//3.txt文件的内容17}).catch(err={18console.log(错误
处理!!!,err);//上面的所有Promises过程出错都可以在此处捕捉到19})20
我们用一段伪代码来描述我们希望的表现形式
functionexecFile(){1letpath
readFile(1.txt);2pathreadFile(路径);3
letresultreadFile(路径)4console.log(结
果);5}6
AsyncawaitPromise
Asyncawait是异步的终极解决方案
这里的业务就是1.txt根据1.txt中的文件路径继续别的文件,相比之
前回调函数的阅读性Promise确实强了不少,但我们总觉得类似于这种业务我们能不能
有一个更好的解决方案
1functionreadFile(path){
2
returnnewPromise((resolve,reject)={
3
fs.readFile(path,utf8,(err,data)={
4
if(err){
5
reject(err);
//出错了我们调用reject传递错误对象
6
}else{
7
resolve(data);//成功使用resolve
8
}
9
})
10
})
11}
12readFile(1.txt).then(s={
13
returnreadFile(s.toString());//返回Promise对象读出数据2.txt
14}).then(s={
15
returnreadFile(s.toString());//返回Promise对象读出数据3.txt
16}).then(s={
17
console.log(s)//返回Promise对象//3.txt文件的内容
18}).catch(err={
19
console.log(错误处理!!!,err);//上面的所有Promies过程出错都可以在
此处捕捉到
20})
我们用一段伪代码来描述我们希望的表现形式
1functionexecFile(){
2
letpathreadFile(1.txt);
3
pathreadFile(path);
4
letresultreadFile(path)
5
console.log(result);
6}
原创力文档

文档评论(0)