使用async.whilst要注意的地方
近期在review以前同事的源码时,发现他使用了async.whilst方法。仿效其在本地调试时,发现程序死活都不执行,研究了半天,终于解开了谜团。
首先了解一下whilst的参数
whilst接受三个参数,第一个为判断函数,只有在该函数返回时,第二个参数参会执行。第二个参数便是表达核心逻辑的函数。第三个则是第一个参数返回false之后的回调函数。
async.whilst(test, fn, function(err, n){})
注意async包的版本
我同事那源码是比较早之前写的,用的是2.6.2的包,我用的是3.2.0的包,官方文档中显示,V2和V3的调用在细微的差异,直接导致是否调用成功。
V2,在https://github.com/caolan/async/blob/master/docs/v2/whilst.js.html清楚地写明
第一个参数
function() { return count < 5; }。
而V3,在https://github.com/caolan/async/blob/master/docs/v3/whilst.js.html中写明
第一个参数
function test(cb) { cb(null, count < 5); }
大家可以清楚地看到他们的区别,调用时要注意了。
使用async.whilst要注意的地方相关推荐
- Android Kotlin 协程async
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/118093646 本文出自[赵彦军的博客] 往期精彩文章 Android Corou ...
- C#中await/async闲说
自从C#5.0增加异步编程之后,异步编程越来越简单,async和await用的地方越来越多,越来越好用,只要用异步的地方都是一连串的异步,如果想要异步编程的时候,需要从底层开始编写,这样后边使用的时候 ...
- JavaScript 的 defer 与 async
当解析器遇到 script 标签时,文档的解析将停止,并立即下载并执行脚本,脚本执行完毕后将继续解析文档.但是我们可以将脚本标记为 defer,这样就不会停止文档解析,等到文档解析完成才执行脚本,也可 ...
- Async 异步转同步
前要:今天写react的一对多视频会议的项目时,4秒刷新一次会议成员,每一次4秒重新请求接口的时候,正在会议的成员的视频有的重新加载!就想到4秒刷新的时候获取回来的数组进行和视图的数组进行对比,有改变 ...
- async.js 学习教程(一)
http://www.cnblogs.com/fly-dog/p/3657055.html 网上有一篇async.js的文章,但是看完后一头雾水,里面很多错误,只好学习下官方的文档 官方的文档分为三个 ...
- es6 async await 使用
概述 说一下 async , await 函数的简单应用, 用最简单的示例,让复杂的事变得更简单. 记住以下知识,项目中基本够用 示例 以下示例,大家可以直接复制粘贴到浏览器的console面板测试, ...
- node.js async循环数组的方法
Collections 集合处理 async.forEachOf | eachOf(object, iterator, callback) 实现功能:遍历object对象执行iterator,报错 ...
- Node.js中Async详解
Node.js中Async详解:流程控制 安装 npm install async --save 地址 https://github.com/caolan/async Async的内容主要分为三部分 ...
- 【JS】930- 更快的 async 函数和 promises
作者:语雀 链接:https://www.yuque.com/es2049/blog/yfqmu1 原文链接:https://v8.dev/blog/fast-async JavaScript 的异步 ...
- 「译」更快的 async 函数和 promises
来源:https://www.yuque.com/es2049/blog 译自:Faster async functions and promises JavaScript 的异步过程一直被认为是不够 ...
最新文章
- Java设计模式(十七):责任链设计模式
- javaCV - 视频截帧,清晰度调整,转gif,视频转音频
- 关于Oracle数据库的SQL语句使用时的一些技巧。
- Angular7教程-04-Angular常用操作(下)
- SPSS聚类分析——一个案例演示聚类分析全过程
- EXCEL的各种“空”的区别:blank,““ , 0 ,以及 VBA里的各种空值:empty,null,nothing 等
- 择一城终老,遇一人白首
- Manjaro-KDE安装动态桌面插件
- Linux之常见面试题知识点批注(七)
- inet addr(网络地址)、bcast(广播地址)、mask(子网掩码)
- “浅尝”JavaScript设计模式
- c语言 按键切换显示屏,51单片机lcd1602按键切屏
- C语言中取余与取模的区别
- 文本相似度 Text Similarity
- 在ubuntu中运行sudo apt-get update报错The following signatures couldn‘t be verified because the public key
- bzoj2565题解
- web学习-项目练习-No.4-朋友圈
- 菜鸟也可以自己封装万能ghost系统
- AE学习笔记一:绘制其他形状和取消填充
- windows10管理员获得完全权限