我正在创建一个npm包,我试图让一个方法执行或等到另一个方法被调用并完成之后。铁。在下面:
var package = require('myNpmPackage');
package.method1(options);
...
稍后,可能在另一个文件中
package.method2();
在上面的例子中。假设package.method1()
通过连接到服务器来设置整个包,有点像mongoose和mongo。这意味着package.method2()
将在package.method1()
成功设置所有内容之前运行。只有在等待package.method2()
完成后,我才能如何执行package.method1()
?
答案 0 :(得分:1)
可以工作的一件事是使用异步库,尽管这只能假设它们在同一个文件中
从他们网站上的文档:
async.auto(
{
package1: function (callback) {
// call package1
callback();
},
package2: [ "package1", function (callback) {
// call package2
callback();
}]
}, function (err/*, r*/) {
}
);