温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
Hello,大家好,那么这一个小节呢,我们来做一个promise的封装练习,准备封装一个函数。啊,叫my read file,其作用呢,是来读取文件的内容,要注意这个代码要在note GS的环境下边才能够运行,千万不要在浏览器当中去引入该文件。然后呢,这个函数呢,接受一个参数叫pass。这个pass呢是文件的路径,你想读取哪个文件,你就把它的路径呢传递给my read file就可以了。然后呢,它的返回结果呢,是一个promise对象。啊,成功的值为文件内容,失败的结果为错误对象。好了,我们一起来做一下。首先,既然是一个函数,Function的关键字是肯定少不了的。然后跟上函数名。他呢还接受一个参数为文件路径,所以参数我们也要给他补进来。返回的结果呢?为一个promise对象,那好,来一个new promise resolve reject。
01:07
当然不要忘了它的功能,它的功能是要读取文件,我们这里为了方便啊,就直接require。然后FS。引进来之后呢,咱们下边用read file这个方法来去读取文件。读取文件呢,需要第一个参数是路径啊,所以说我们把pass呢传进来,第二个参数呢为回调。好了,开始呢去做对应的判断,如果说我读的时候出现错误了。出现错误怎么办呢?我们在这儿可以调reject。让这个返回的promise对象状态呢变为一个失败,并且其失败的结果呢为这个错误对象。那么如果说我成功了呢?成功,我们则调resolve函数,并且把这个文件内容啊传递给他。
02:02
当我们把这个函数封装完毕之后以后,我们想要去读取文件。比方说还是去读取content.txt大家可以来感受一下my file。路径点杠resource下边。Content。点TXT写完之后,咱们后边可以直接跟点。因为他的返回结果是一个promise对象。所以我们课外可以直接跟点,然后呢,加上成功和失败的回调就可以了。好了,然后呢,然后咱们这块呢,还可以把代码进行一个这样的调整。敲一个回车,这样子也是没有问题的。好,然后在这个地方上面呢,咱们来输出一下文件内容。然后can solve.log,打印一下value.to string,因为它本身是一个buffer类型的数据啊,然后下边的话是失败的情况,我们打印一下reason就可以了。
03:05
我们先看效果怎么样啊,右键终端打开。然后运行一下NODE4杠。好,大家可以看一下,读取是没有问题的。然后呢,咱们再看看出现错误的时候。再来摁上,把上一个命令调出来,然后敲回车好了,出错了。当我们在封装完毕之后呢,以后再想要读取文件时,就可以这样子去直接使用。而不需要在原始的。这个read file的后边再去写回调函数了啊,我们可以在后边去指定回调。啊,是这样的一个啊方式好了,那么这个小节我们就先到这儿。
我来说两句