编程:从Promise到Async Await进化与应用.pdfVIP

  • 1
  • 0
  • 约6.56千字
  • 约 8页
  • 2026-02-22 发布于北京
  • 举报

编程:从Promise到Async Await进化与应用.pdf

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)

1亿VIP精品文档

相关文档