nodejs async瀑布使用功能来自外部必需的JavaScript文件



我对nodejs来说是相当新的,并且要保留代码简介,希望我可以使用我在异步瀑布函数列表中包含的.js文件中的函数。我试图包含一个函数,并且正在获得" typeError:回调不是函数"异常或"无法读取属性"符号(符号。我已经搜索和搜索了,找不到答案,但是希望有人能给我最好的方法,就像回调和功能一样,我不确定最好的解决方案是什么。

希望我的代码会这样:

var module1 = require('./lib/module1.js'),
   module2 = require('./lib/module2.js');
async.waterfall([
   module1.externalfunc1,
   module2.externalfunc2
], function (err, result) {
if (err) {
    console.log('ERROR: ');
    console.log(err);
} else {
    console.log('Completed streaming1');
    console.log(result);
}

我的猜测是我应该将瀑布功能放在另一个功能中,例如function(){module1.externalfunc;},function(){module2 ...

认为我只是不太了解回调,因为我不确定外部功能是否会知道"回调"是什么,因为它在瀑布的代码外部。但是我必须相信这是可能的。

感谢您的任何帮助。

要说的是,我的externalfunc1使用定义的函数创建,我导出了该函数,因此在文件中具有:

function externalfunc1(param1, callback){...} 
module.exports = externalfunc1;

您面临的问题是您将功能externalfunc1导出为整个模块。即。

var module1 = require('./lib/module1.js')
module1  === externalfunc1

要么将导出更改为:

module.exports = { externalfunc1 }

或导入为:

var externalfunc1 = require('./lib/module1.js')

相关内容

  • 没有找到相关文章

最新更新