问题标签 [node-async]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在 node.js 中使用异步瀑布时的“err”参数
我正在尝试执行一系列函数,每个函数都将回调传递给下一个。现在它看起来像这样(请原谅任何小错误,我正在重写它!):
我的第一个问题是我不确定如何优雅地启动此功能,因为它无法接受输入。我最终将把它包装在一个本地函数中,但这仍然让我有点不安。
其次,虽然这行得通,但我不知道“错误”论点是如何影响这一点的。如果我尝试将它插入到参数列表中,它会以各种方式中断。我希望能够单独捕获任何函数中的错误 - 或者是否需要这样做,因为我在传递的最后一个回调中有错误?
javascript - async.waterfall 和 async.series 有什么区别
nodejs 异步模块:https ://github.com/caolan/async提供了 2 个类似的方法,async.waterfall
和async.series
.
它们之间有什么区别?
javascript - 读取所有文件后,使用异步模块触发回调
我正在使用caolan 的“异步”模块来打开文件名数组(在本例中为模板文件名)。
根据文档,我正在使用async.forEach(),因此一旦所有操作完成,我就可以触发回调。
一个简单的测试用例是:
输出如下:
即,似乎最终的回调没有触发。我需要做什么才能使最终的回调触发?
node.js - 无法在异步模块中使用“地图”功能
我正在使用 node.js“异步”模块,需要使用“地图”方法。
基本上我有一个包含其他数组的数组。内部数组包含 2 个元素,一个类型和一个图像文件名。
对于每个内部数组,我想获取由文件名标识的图像的 base64 编码,并将此编码字符串添加为数组的第三个元素。
我正在做这样的事情:
我知道 arr.push(base64Image) 的东西是不正确的,但我不知道如何返回修改后的元素。
在 map(arr, iterator, callback) 文档中,它被指定:
“迭代器使用数组中的项目和完成处理时的回调来调用。”
问题是我无法弄清楚如何用新数组提供回调。
javascript - 使用 node.js async forEachSeries 时是否有“继续”的等效语句?
我正在使用 node.js 异步包,特别是 forEachSeries,根据从数组中提取的参数发出一系列 http 请求。在每个请求的回调中,我都有一些 if/else 语句来响应不同类型的响应。
如果在上面,我可以在 else 中使用与“继续”等效的方法吗?这在技术上不在循环内部,因此 continue 不起作用。
node.js - Node.js - 使用异步库 - 带有对象的 async.foreach
我正在使用节点异步库 - https://github.com/caolan/async#forEach并希望遍历一个对象并打印出它的索引键。完成后,我想执行一个回调。
这是我到目前为止所拥有的,但'iterating done'
从未见过:
为什么最终函数没有被调用?
如何打印对象索引键?
node.js - node.js async.series 不工作
这段代码直接取自以下示例:https ://github.com/caolan/async#seriestasks-callback
但是它不起作用。它在打印“a”后停止。
是最新版本的异步模块的错误还是我的使用有问题?
javascript - 如何从 Node.js 中的异步循环返回
当使用异步库进行流控制时,特别是 async.forEach 在需要跳过特定项目时如何正确执行回调。
例子:
如果我不使用process.nextTick(callback)
,如果 bigCollection 太大,我是否会面临堆栈溢出的风险?如果我确实使用了process.nextTick(callback)
我会破坏我的代码吗?
我已经养成了这样做的习惯process.nextTick(callback)
,但是我不确定这样做是否是一个好习惯。
node.js - 使用 async.waterfall 减少嵌套,但增加了混乱
我试图通过使用来减少异步调用(node + socket.io)的嵌套,但async.waterfall
我最终不得不将参数附加到瀑布下方,因为稍后需要它们。此代码可能会更好地解释:
// 原始版本:
// async.js 版本
目标是可读性,但我发现多余的参数传递会增加混乱。我知道我可以在调用 async.waterfall 之前声明变量并根据需要存储参数以供以后在链中使用,但这对可读性没有帮助。
有没有办法让它更优雅?
node.js - Async.js 并行回调未执行
我正在使用Async.js 中的并行函数,由于某种原因,最终的回调没有被执行,我没有看到任何地方发生错误。
我正在动态创建一个传递给并行调用的函数数组,如下所示:
然后在一个外部函数中(在上面执行 forEach 的函数之外)我有 generateFileFunc() 函数。
我看过这篇 SO 帖子,它帮助我到达了我所在的位置。但是最终的回调没有被执行。并行调用中的所有项目都在执行。在最底部的 gnerateFile (function) 内部,我调用了回调,所以这是金色的。
任何人都知道为什么这可能无法正常执行?
最终结果是并行处理每个函数调用,然后在我完成时收到通知,以便我可以继续执行其他一些指令。
谢谢!