我需要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但没有任何反应。
答案 0 :(得分:1)
原因是在这种情况下,他们希望将承诺返回给当前函数的调用者。
我已经在自己的程序中完成了这项工作,因此完成了:
Q.ncall([function], [this], [arguments,...])
的第二个参数是this
。其次请注意,Q.ncall
给定给定函数的回调参数与所有其他node.js回调(error, result)
相同,因此需要给出回调{{1作为成功的错误。
null
此代码按您的描述工作;注意差异。