Dan*_*Dan 3 javascript node.js promise q
在下面的代码中,我希望在调用a, b, c时processhttprequest()将变量作为参数传递.
var q = require("q");
var request = require('request');
function myfun()
{
var a, b, c;
//do some work here
var httprequest = q.denodeify(request);
var httprequestpromise = httprequest(httpoptions);
httprequestpromise.then(processhttprequest);
}
Run Code Online (Sandbox Code Playgroud)
我试过httprequestpromise.then(processhttprequest.bind([a, b, c]));但没有运气.这是否由Q或任何其他承诺库支持.
你可以.bind()像这样使用:
httprequestpromise.then(processhttprequest.bind(null, a, b, c));
Run Code Online (Sandbox Code Playgroud)
这将创建一个虚拟函数,将增加的参数a,b和c之前调用processhttprequest().
或者,您可以使用您自己的存根函数手动执行此操作:
function myfun()
{
var a, b, c;
//do some work here
var httprequest = q.denodeify(request);
var httprequestpromise = httprequest(httpoptions);
httprequestpromise.then(function(result) {
return processhttprequest(a, b, c, result);
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1264 次 |
| 最近记录: |