用promise代替回调函数

用promise代替回调函数


用promise代替回调函数

如图,我要实现的功能就是,使用getread这个封装好的方法,先读取1.txt的内容,再读取2.txt的内容,再读取3.txt的内容。
这个代码是能实现我要实现的功能,但是这是一个很糟糕的代码,因为这样的代码其实就是出现了回调地狱,如果要继续写下去的话,只会的是无尽的回调,回调的太多了。
后来我找到了一个好的优化方法,就是使用promise
用promise代替回调函数
用promise代替回调函数
在promise上有两个函数,resolve是成功之后回调函数,reject是失败的回调函数,失败的函数可以不传,但是成功的回调函数必须传
我们可以在new出来的promise实例上调用.then方法,预先为这个promise操作指定成功和失败的回调函数
当读取完第一个文件的时候,将结果return出去,其实得到的是一个新的promise,对一个新的promise,可以继续给他定义失败和成功的回调函数。
我个人觉得promise最大的优化就是将嵌套的代码变成了平行的代码。