-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ES6 系列之异步处理实战 #101
Labels
Comments
学习ES6的异步处理总是有些不理解的地方,在这一篇中很好的理解了 Promise, Generator, 以及 Async 是如何一步步帮我们简化异步调用的流程,让代码更简洁,可读性更强。 感谢。 |
上午看到您的这篇文章后醍醐灌顶,下午我就用在了我的个人项目的代码优化上了,特别感谢。 |
本想问个问题的,发现fsPromises是nodesjs v10新加。
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
前言
我们以
查找指定目录下的最大文件
为例,感受从回调函数 -> Promise -> Generator -> Async
异步处理方式的改变。
API 介绍
为了实现这个功能,我们需要用到几个 Nodejs 的 API,所以我们来简单介绍一下。
fs.readdir
readdir 方法用于读取目录,返回一个包含文件和目录的数组。
fs.stat
stat 方法的参数是一个文件或目录,它产生一个对象,该对象包含了该文件或目录的具体信息。此外,该对象还有一个 isFile() 方法可以判断正在处理的到底是一个文件,还是一个目录。
思路分析
我们基本的实现思路就是:
fs.readdir
获取指定目录的内容信息fs.stat
获取该文件或者目录的具体信息然后我们直接上代码吧。
回调函数
使用方式为:
Promise
使用方式为:
Generator
使用方式为:
Async
使用方式为:
ES6 系列
ES6 系列目录地址:https://github.com/mqyqingfeng/Blog
ES6 系列预计写二十篇左右,旨在加深 ES6 部分知识点的理解,重点讲解块级作用域、标签模板、箭头函数、Symbol、Set、Map 以及 Promise 的模拟实现、模块加载方案、异步处理等内容。
如果有错误或者不严谨的地方,请务必给予指正,十分感谢。如果喜欢或者有所启发,欢迎 star,对作者也是一种鼓励。
The text was updated successfully, but these errors were encountered: