问题标签 [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.

0 投票
2 回答
282 浏览

javascript - 异步并行错误?

在这里,我试图创建一个带有 Async.js 参数的函数数组。

该数组由 RunRequest 的实例组成,这些实例应该设置在 MakeRequest 的循环内,就在我尝试将函数数组传递给 Async 之前。

因此,当我将 request[i] 中的请求传递给 RunRequest 时,它很好,但在 RunRequest 函数内部它是未定义的?

0 投票
1 回答
2361 浏览

node.js - 使用 expressjs 处理异步瀑布中的错误

我不明白为什么 expressjs 在抛出 async.waterfall 时不处理错误

当我 GET /error 时,expressjs 打印一个不错的错误而没有崩溃服务器但是当我 GET /asyncerror 这是一个经典的抛出,打印在 stdout 上并出现服务器崩溃..

谢谢你的帮助。

0 投票
3 回答
1173 浏览

javascript - 并非 Async.js 系列中的每个函数都执行

我正在尝试使用Async.js来触发一系列异步函数。下面是我的代码。只有前两个函数执行。系列中的第三个和第四个函数不执行。我已经将思考的功能简化为最基本的可能。但他们仍然没有执行。有人可以告诉我我做错了什么吗?

编辑---正如下面的答案所建议的,我做了前两个适当的功能。然而,现在只执行该系列中的第一个函数。函数 2-4 不会被调用。我认为这段代码肯定还有其他问题。

0 投票
2 回答
3632 浏览

node.js - 将参数传递给 Node.js 异步瀑布

我需要将一些参数传递给async waterfall()的初始函数。建议的方法 https://github.com/caolan/async/issues/14对我不起作用,因为我需要将 ExpressJS 函数的响应传递给它

0 投票
1 回答
1052 浏览

xml - 使用 nodejs async 处理大型 xml 文件(有关系)

我必须处理一个大型 XML 文件(大小约为 25 mb),并将数据组织成文档以导入 MongoDB。

问题是,xml 文档中大约有 5-6 种类型的元素,每一种都有大约 10k 行。

在获取了一个 a 类型的 xml 节点之后,我必须获取它对应的 b、c、d 等类型的元素。

我在节点中尝试做的事情:

  1. 获取类型 a 的所有行。
  2. 对于每一行,使用 xpath,找到其对应的相关行,并创建文档。
  3. 在 mongodb 中插入文档

如果有 10k 行类型 a,则第 2 步运行 10k 次。我试图让它并行运行,这样事情就不会永远持续下去。因此, async.forEach 似乎是完美的解决方案。

async.forEach(rowsA,fetchA);

我的 fetchrelations 函数有点像这样

在我尝试运行它之后,代码中的 console.log 大约每 1.5 秒运行一次,而不是像我预期的那样对每一行并行运行。在过去的两个小时里,我一直在挠头并试图弄清楚这一点,但我不确定我做错了什么。

我不是很擅长node,所以请耐心等待。

0 投票
1 回答
382 浏览

javascript - Javascript Async.js Parallel 不适用于 socket.io

我有以下代码块:

module.rpc是一个通过 . 从服务器获取必要数据的函数socket.io。现在,最后一个函数(async.parallel的第二个参数)应该只在给定的 3 个函数回调后才被调用。但是,在模板(EJS)渲染期间,当我尝试访问时groups.data有时会收到错误消息:

该代码对我来说似乎非常好,但只是偶尔有效。我已经多次重新加载页面,没有更改底层代码,成功率约为 20%。我完全不知道为什么这里出了问题。我只能猜测该变量的分配被延迟了。所以我尝试使用延迟渲染window.setTimeout,但无济于事。为什么会这样?我如何解决它?

0 投票
2 回答
2114 浏览

javascript - 使用 node.js + async 模块从同步回调中​​创建一个同步循环

流行的 node.js 模块async包括用于集合和控制流的函数,其中一些版本可以并行或串行操作。

但是其中我找不到一种方法来构建一个串联运行的循环。

我正在尝试与此伪代码相同的操作:

  • 如果我希望getLine()并行调用所有调用,我可以使用async.whilst.
  • 如果我想迭代一个数组而不是制作类似 a fororwhile循环的东西,我可以使用async.eachSeries.

我可以使用什么来获取series控制流中的行为而不是集合迭代?

0 投票
2 回答
7635 浏览

javascript - node.js:程序要么意外退出,要么只是挂起

我在 node.js 中编写了一个执行一些网络操作的模块。我写了一个使用这个模块的小脚本(check下面的变量)。它看起来像这样:

现在这是有趣的事情。当此代码作为mocha测试的一部分执行时,测试会按预期退出。我看到打印的日志语句并且进程退出。

当代码作为独立节点脚本执行时,会打印日志语句,但进程只是挂起。

当我尝试调试它并使用--debug-brk和使用启动程序node-inspector时,它会提前退出!我看那process.on 'exit'叫。它在模块中的一些内部回调尚未被调用时退出。所以上面的日志语句也没有打印出来。

我现在被卡住了,不确定为什么会这样。有没有人见过类似的行为?

0 投票
1 回答
148 浏览

javascript - async.series 和 javascript 变量

我认为我的理解存在根本性的脱节。我一直在阅读回调,并搜索了以下内容可能不起作用的原因,但我可能在错误的地方寻找。我有以下代码:

console.log“测试”似乎没有打印,我已经尝试了很多不同的代码迭代,但是一旦它超出了最里面的循环(users.push 用户),我就不能检索用户的值。我最终得到一个空数组[]。任何人都有任何见解,或者可以指出我的想法哪里出错了?谢谢你。

0 投票
2 回答
2246 浏览

node.js - 为什么 async.map 函数可以与本机 fs.stat 函数一起使用?

根据文档,第二个参数是:

iterator(item, callback) - 应用于数组中每个项目的函数。

美好的。

迭代器被传递一个回调(err,transformed),一旦它完成一个错误(可以为空)和一个转换的项目,就必须调用它。

我认为这fs.stat不符合这一点,我会说这不应该工作。

它应该是这样的: