在node.js中为所需模块创buildcallback

有没有可能在我自己创build的模块中创build某种callback?

我的问题是我已经为我的应用程序写了一个模块。 在这个模块内完成了一些任务,现在我的主应用程序应该得到一个模块完成任务的反馈。

以下描述我想要但不会工作的课程…

//module mymod.js function start() { var done = false; //do some tasks done = true; } exports.done = done; 

主要应用程序

 var mymod = require("./mymod.js"); while(!mymod.done) { //do some tasks } 

如果有人能帮助我,我会很高兴。

PS:我尝试了这种情况下的subprocess(叉),但因为它似乎复制整个过程,我不能访问打开OpenCVvideo捕获了… :(通过使用模块我没有遇到这个问题,而是我得到这个一个为它^^

是的,你可以从你的模块callback。

这很简单

 function funcWithCallback(args, callback){ //do stuff callback(); } 

虽然我不知道你在做什么,while循环看起来很可疑。 你可能应该投资npm的asynchronous包。

在github上的asynchronous

编辑:我觉得有必要澄清一些事情。 虽然上面的函数实际上是打算使用callback来代替返回值,但它并不完全是asynchronous的。

真正的asynchronous方法是做这样的事情:

 function funcWithCallback(args, callback){ process.nextTick(function() { //do stuff callback(); }); } 

这允许被调用的函数退出并推迟该函数的逻辑执行,直到下一个打勾。

callback语法:

 function start(callback) { //do some tasks callback(data); } exports.start = start; 

任何你需要你的模块:

 var mymod = require("./mymod.js"); mymod.start(function(data) { //do some tasks , process data });