nodejs 异步瀑布使用来自外部所需 javascript 文件的函数
nodejs async waterfall use function from external required javascript file
我是 nodejs 的新手,为了让我的代码简洁,我希望我可以使用我包含在我的异步瀑布函数列表中的 .js 文件中的函数。我试图包含一个函数,但得到了 'TypeError: callback is not a function' 异常或“无法读取未定义的 属性 'Symbol(Symbol.toStringTag)'”。我搜索了又搜索都找不到答案,但希望有人能给我最好的方法,因为回调和函数我不确定最好的解决方案是什么。
我希望我的代码是这样的:
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...
认为我对回调的理解还不够好,因为我不确定外部函数是否知道 "callback" 是什么,因为它在瀑布代码之外。但我不得不相信这是可能的。
感谢您的帮助。
意思是说,我创建了一个定义了函数的 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')
我是 nodejs 的新手,为了让我的代码简洁,我希望我可以使用我包含在我的异步瀑布函数列表中的 .js 文件中的函数。我试图包含一个函数,但得到了 'TypeError: callback is not a function' 异常或“无法读取未定义的 属性 'Symbol(Symbol.toStringTag)'”。我搜索了又搜索都找不到答案,但希望有人能给我最好的方法,因为回调和函数我不确定最好的解决方案是什么。
我希望我的代码是这样的:
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...
认为我对回调的理解还不够好,因为我不确定外部函数是否知道 "callback" 是什么,因为它在瀑布代码之外。但我不得不相信这是可能的。
感谢您的帮助。
意思是说,我创建了一个定义了函数的 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')