我需要一些帮助承诺和q库

时间:2012-05-17 19:42:17

标签: javascript node.js promise q

我需要node.js promises语法方面的帮助。在node.js模块中,有一个名为q https://github.com/kriskowal/q的模块被写成了我不理解的东西。

为什么他们总是在return之前写promise

return Q.fcall(eventualAdd, 2, 2);

如何使用回调函数返回promise来创建异步函数?我试试

function doThis(a,b, callback) { var result = a+ b; setTimeout( callback, 2000, result);}
Q.ncall(doThis, 2,3).then( function(result) { alert(result); });

我认为在2000年之后它必须提醒5但没有任何反应。

1 个答案:

答案 0 :(得分:1)

  1. 原因是在这种情况下,他们希望将承诺返回给当前函数的调用者。

  2. 我已经在自己的程序中完成了这项工作,因此完成了:

    • 首先请注意Q.ncall([function], [this], [arguments,...])的第二个参数是this
    • 其次请注意,Q.ncall给定给定函数的回调参数与所有其他node.js回调(error, result)相同,因此需要给出回调{{1作为成功的错误。

      null
    • 此代码按您的描述工作;注意差异。