我有一种情况,我正在创建一个仅在异步操作完成时返回的节点模块.一种方法(如下所示)是为module.exports分配一个带回调参数的函数.在函数内部,您将返回回调.
这是我描述的一个例子,完成了回调:
// module called test.js
module.exports = function(done) {
// do something asynchronous here
process.nextTick(function() {
done(); // call done when the asynchronous thing is complete...
}
}
Run Code Online (Sandbox Code Playgroud)
考虑到我没有在任何地方定义回调,我正在处理的是回调是如何完成的.
例如,在香草的JavaScript,我可以通过做作为参数,然后调用它的函数内,只要我在创建调用回调函数.
function testAsyncCb(msg, done) {
console.log(msg);
setTimeout( function() {
done();
}, 1000);
console.log("last line in code");
}
testAsyncCb("testing", function(){ console.log("done"); }); // invocation with callback function
Run Code Online (Sandbox Code Playgroud)
早在第一个节点例如,某地需要()是()完成,以解决向右创建一个函数调用module.exports?如果没有,回调如何解决?
很难找到有关其工作原理的信息.任何帮助/方向表示赞赏.