我想把递归回调函数转换成AsyncWait格式,下面是代码,

function findFiles(currentDirPath, callback) {

fs.readdir(currentDirPath, function (err, files) {

if (err) {

throw new Error(err);

}

files.forEach(function (name) {

var filePath = path.join(currentDirPath, name);

var stat = fs.statSync(filePath);

if (stat.isFile()) {

callback(filePath, stat);

} else if (stat.isDirectory()) { //if directory call function

findFiles(filePath, callback);

}

});

});

}

这就是我如何调用函数,

findFiles('./logs', function(route){

console.log(route);

});

下面是我取得的进展,我不知道是不是正确的方式,请引导我。

var bundle = [];

var findFiles = async function (root) {

let files = await readFile(root);

for(let inx in files){

var filePath = path.join(root, files[inx]);

var stat = fs.statSync(filePath);

if (stat.isFile()) {

bundle.push(filePath);

} else if (stat.isDirectory()) {

await findFiles(filePath);

}

}

return bundle;

};

let readFile = function(dir){

return new Promise((resolve, reject) => {

fs.readdir(dir, function(err,files){

if (!err) {

resolve(files);

} else {

reject(err);

}

});

});

};

这就是我调用文件的方式,

let files = await findFiles('./logs');

java中递归与回调函数_如何将递归回调函数转换为异步等待格式相关推荐

  1. Java中扫雷游戏的递归算法_扫雷之递归

    前言 假前端这货又来了. 上一篇文章,我们已经生成了一张空白的雷区地图,并且将一定数量的地雷随机分布在整个雷区中,最后将环境标识计算出来.生成了一个较完整的雷区地图. 换个样子 嗯,地图有点丑,还不直 ...

  2. java递归删除文件夹_如何使用递归删除Java中的目录/文件夹

    java递归删除文件夹 Earlier we learned how to create a file in java and how to delete a file in java. Here w ...

  3. java中的de是什么_【转】java中main函数解析

    源地址:http://www.cnblogs.com/xwdreamer/archive/2012/04/09/2438845.html 从写java至今,写的最多的可能就是主函数 public st ...

  4. java中的标识符和关键字_浅谈java中的标识符、修饰符和关键字

    合法标识符 Java语言中,对于变量,常量,函数,语句块均有名字,我们统统称之为Java标识符.标识符是用来给类.对象.方法.变量.接口和自定义数据类型命名的. 组成:Java标识符由数字,字母和下划 ...

  5. java中include标签的用法_原 ng-include用法分析以及多标签页面的简单实现方式

    在平时的项目开发中,应该会经常遇到上图所示的需求,就是在一个页面中有多个标签,被选中的标签颜色会高亮显示,切换不同标签显示相应的不同内容.如果内容代码过多则写在同一个html文件就会显得特别乱,所以这 ...

  6. java中常量final的用法_详解Java中final的用法

    本文主要介绍了Java中final的使用方法,final是java的关键字,本文就详细说明一下它的使用方法,需要的朋友可以参考下 概念 final 具有"不可改变的"的含义,可以修 ...

  7. 如下哪个是Java中的合法自定义标识符_吉大13春《面向对象程序设计》在线作业答案...

    吉大13春<面向对象程序设计>在线作业答案 2013-03-21 01:03:14 259 有学员问关于吉大13春<面向对象程序设计>在线作业答案的题目的参考答案和解析,具体如 ...

  8. [转载] java中对数组进行排序_如何在Java中对数组排序

    参考链接: Java中main()的有效变体 java中对数组进行排序 Java Array is like a container that can hold a fixed number of t ...

  9. java中对数组进行排序_如何在Java中对数组排序

    java中对数组进行排序 Java Array is like a container that can hold a fixed number of the same type of items, ...

  10. Java回调网址_极光短信- 回调接口 - 极光文档

    回调接口 设置并校验回调地址: 回调消息格式说明: 测试回调功能的方法: 设置回调地址 功能说明 设置并校验回调地址 操作路径 Step1:登入控制台 Step2:进入应用模版 Step3:右侧菜单中 ...

最新文章

  1. Win7使用Visual Studio 2010编译用于Qt4.8.6的MySQL驱动
  2. 暑期集训1:C++STL 练习题E:POJ-2431
  3. SpringMVC列表不展示数据
  4. uni app 调用网络打印机_前端工程师 | 原生小程序坑点:uni-app到底好用在哪里?...
  5. java 封装 继承和多态
  6. solidity智能合约[37]-以太坊虚拟机数据存储
  7. Riverbed调查:惊人发现95%的中国受访者高度关注应用性能
  8. 【LuoguP5004】 专心OI - 跳房子
  9. Android开发之注解式框架ButterKnife在ADT中的设置
  10. Beamer演示时不能正常显示底栏的问题及解决
  11. 52.puppet自动化运维工具
  12. Erlang编程语言的一些痛点
  13. 4 security management strategies for data center consolidation
  14. Win11安装cad缺少net组件怎么办?
  15. 软件测试人员必知H5/小程序测试点
  16. 小米盒子为什么搜不到电视家?电视安装包解析错误解决方案
  17. 数独小项目开篇:DFS解决数独难题
  18. 蛇形矩阵 java_Java实现打印二维蛇形矩阵(螺旋矩阵)。
  19. th:replace th:include
  20. PC端抖音HTML布局,抖音有PC端了,终于可以发布无损视频了,支持15min内的作品...

热门文章

  1. java线程池一创建就立马有线程了么_Java 线程池二之Executors创建的五种线程池及使用注意...
  2. 2058. 笨拙的手指
  3. vim批量删除与插入
  4. 题目477- A+B Problem III (陷阱题)
  5. 51nod1057-大数阶乘
  6. python中input的用法霍格沃_欢迎来到霍格沃茨—魔法01 Python 环境安装
  7. 内存占用_一文教你节省 90% 的内存占用
  8. ios苹果应用ipa一键签名工具_ios签名何以做到不越狱不上架也能安装ipa文件?
  9. python怎么配置pip_python如何配置pip
  10. python min函数时间复杂度是指_python中的内置函数max()和min()及mas()函数的高级用法...