gpt4 book ai didi

node.js - Node-Webkit 中的 NodeJs Async.waterfall

转载 作者:太空宇宙 更新时间:2023-11-04 01:11:10 25 4
gpt4 key购买 nike

我正在尝试在node-webkit应用程序中使用nodejs异步模块( waterfall 方法),但它无法正常运行。它似乎直接跳到链中的最后一项,而忽略其他所有内容。不过我的代码在nodejs 中运行得很好。我认为这可能是我的代码,但即使异步文档中的以下示例也是如此。

 async.waterfall([
function(callback){
callback(null, 'one', 'two');
},
function(arg1, arg2, callback){
callback(null, 'three');
},
function(arg1, callback){
// arg1 now equals 'three'
callback(null, 'done');
}
], function (err, result) {
console.log(result)
// result now equals 'done'
});

但是,以下使用 async.series 方法的示例确实有效:

async.series([
function(callback){
// do some stuff ...
callback(null, 'one');
},
function(callback){
// do some more stuff ...
callback(null, 'two');
}
],
// optional callback
function(err, results){
// results is now equal to ['one', 'two']
});

最佳答案

这是 async 模块的一个错误,Github 上有一个关于此的未决问题 ( issue #302 。) 问题是当 Node 创建新环境时(使用 vm 模块),数组检查内部使用的 async 无效。

我通过将 lib/async.js 中第 472 行的数组检查更改为:

async.waterfall = function (tasks, callback) {
callback = callback || function () {};
if (tasks.constructor !== Array) {

至:

async.waterfall = function (tasks, callback) {
callback = callback || function () {};
if (!Array.isArray(tasks)) {

有一些拉取请求可以解决这个问题,所以希望这个问题很快就能得到解决。

关于node.js - Node-Webkit 中的 NodeJs Async.waterfall,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17394305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com