作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
例如,如果我喜欢这样做:
var request = require('request');
function callback(error, response, body) {
if (num) {
console.log(num);
}
console.log(body);
}
var cookie = {
'74358942795': 'abd7fce573c2-18c2c0de-037f-4aef-9235',
'58942743795': 'e3101e9a0e28-b596998e-e879-4003-a724'
}
function options(num) {
return {
url: 'http://.../.../',
method: 'POST',
headers: {
...
'Cookie': cookie[num]
},
body: '...=' + Date.now()
};
}
(function(num){
request(options(num), callback);
})('74358942795');
在回调中,它将返回 num undefined
并抛出错误。
最佳答案
Igor 的回答几乎是正确的。应该是:
function callback(error, response, body) {
var that = this;
if (that.num) {
console.log(that.num);
}
console.log(body);
}
(function(num){
request(options(num), callback.bind({num}));
})('74358942795');
关于node.js - 如何在不使用 for 循环的情况下将变量传递给请求回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49227381/
我是一名优秀的程序员,十分优秀!