我正在使用node.js 中的http 模块来读取url。 http.get 函数有 this signature :
http.get(options[, callback])
回调函数采用单个参数 res。如果我想在回调中使用额外的对象/函数,我该怎么办?我可以考虑像这样内联 get 调用:
outerFunction = function(xyz) {
http.get(options, (res) => {
// do stuff with xyz here
xyz(res.blah);
}
});
但是如果我的回调变得很长,我想在某处预先声明它:
myCallback = function(xyz) {
return function(r) { xyz(r.blah); };
}
并像这样调用 myCallback:
outerFunction = function(xyz) {
http.get(options, (res) => {
myCallback(xyz)(res);
});
}
但这看起来 super 笨拙,而且只能绕过 1-arg 回调限制。
还有更好的方法吗?谢谢!
最佳答案
你可以使用这段代码,因为myCallback返回一个函数,然后在获取资源后,http会自动将资源传递给xyz。
outerFunction = function(xyz) {
http.get(options,myCallback(xyz));
}
关于javascript - 如何在 1-arg javascript 函数中使用 2 个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42510971/