节点 js 将变量传递到请求回调函数中
Node js pass variable into request callback function
我希望将一个变量绑定到我的请求对象,以便在进行回调时可以访问此变量。
这是库:https://github.com/request/request
这是我的代码。
var request = require('request');
for (i = 0; i < cars.length; i++) {
request({
headers: { 'Content-Type': 'application/json'},
uri: 'https://example.com',
method: 'POST',
body: '{"clientId": "x", "clientSecret": "y"}'
},
function(err, res, body){
// I want to put the correct i here.
// This outputs cars.length almost everytime.
console.log(i);
});
}
您已经可以访问i
,成熟了,可以关闭!
var request = require('request');
for (i = 0; i < cars.length; i++) {
(function(i){
request({
headers: { 'Content-Type': 'application/json'},
uri: 'https://example.com',
method: 'POST',
body: '{"clientId": "myea1r4f7xfcztkrb389za1w", "clientSecret": "f0aQSbi6lfyH7d6EIuePmQBg"}'
},
function(err, res, body){
// I want to put the correct i here.
// This outputs cars.length almost everytime.
console.log(i);
});
})(i);
}
原始代码的问题在于异步函数在i
值更改后很长时间内发生,在这种情况下,异步函数的每次调用都将等于cars.length
。
通过使用自调用函数,我们只传入应该用于函数内所有内容的i
值。
相关文章:
- 成功回调永远不会被JSONP请求调用
- PJAX请求完成并下载资产后的回调
- google在类内映射javascript directionsService.route请求:将类实例传递给回调函数
- 如何在回调请求中传递var
- 请求js中的回调问题
- JavaScriptajax请求servlet调用错误回调函数
- Google Maps JavaScript API v3:getDetails(请求,回调),用于多个位置
- 节点 js 将变量传递到请求回调函数中
- 带有一个回调的多个循环ajax请求
- 如何从ajax get请求的回调函数中编辑javascript变量的值
- jQuery中的多个同时Ajax请求(带有一个回调)
- jQuery,在任何请求之前对 ajax 请求的默认回调
- Jquery jsonp 请求回调函数未触发
- node . js Http.请求回调-无法将数据传递给父函数
- 突然,我的IndexedDB打开请求回调都没有被调用
- 向请求回调添加额外的参数
- http.Get或http.请求回调只显示在shell - node.js中
- 异步angularJS -如何等待每个请求回调
- 这有什么不对吗?尝试在原型中使用请求回调,但收效甚微
- HTTP请求回调未执行-原因