在GET请求中进行for循环

编码器

我的代码:

var locations = {"testurl1", "testurl2"}, results = [];
locations.forEach(function(location,index){
   request.get(location,function (error, response, body){
    if (!error && response.statusCode == 200) {
      var jsonResponse = JSON.parse(body);
      results.add(jsonResponse.address);          
    }
   }
})

console.log(results);

由于异步获取请求,结果被打印为空白。如何进行这项工作,以便在结果中显示所有地址?

受难者加列夫斯基

也许诺言可以在这种情况下提供帮助。这是我的解决方案:

'use strict';

var request = require('request');
var Q = require('q');
var defer = Q.defer();
var promise = defer.promise;
var locations = [
  'http://www.google.com', 'http://www.instagram.com'
],
results = [];

locations.forEach(function(location, index) {
  request.get(location, function(error, response, body) {
    if (!error && parseInt(response.statusCode) === 200) {
       results.push(response.statusCode);
    }
    if ((locations.length - 1) === index) {
      defer.resolve();
    }
  });
});

promise.then(function() {
  console.log('RESULTS:', results);
});

我对此进行了测试,并且工作正常。这里简要说明承诺

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

在for-in循环中进行类型转换

来自分类Dev

如何在casperjs中进行循环

来自分类Dev

无法在Scala中进行简单的GET请求

来自分类Dev

在foreach循环中进行isset检查

来自分类Dev

Android-在SQLite查询中进行循环

来自分类Dev

使用mkvmerge在bash中进行循环

来自分类Dev

在Android中进行翻新的OAuth 1.0请求

来自分类Dev

在$ http.get请求中进行AJAX调用后,Angularjs不将变量存储到$ scope

来自分类Dev

在Swift中进行异步GET / POST请求

来自分类Dev

Swift:在for循环中进行类型转换

来自分类Dev

使用循环在R中进行模式搜索

来自分类Dev

在XPath中进行循环?

来自分类Dev

如何在haskell中进行json请求?

来自分类Dev

如何在Jinja中进行for循环?

来自分类Dev

在React渲染方法中进行循环

来自分类Dev

使用swift在JSON数据中进行循环

来自分类Dev

在Jekyll / Liquid中进行循环复制代码

来自分类Dev

如何在OCaml中进行简单的GET请求?

来自分类Dev

使用Node.js异步请求在Redis中进行循环

来自分类Dev

C#在foreach循环中进行异步http请求

来自分类Dev

在ejs中进行循环

来自分类Dev

尝试使用NSURL在objC中进行GET请求

来自分类Dev

在PL / SQL中进行循环

来自分类Dev

在Swift中进行异步GET / POST请求

来自分类Dev

在循环中进行验证?

来自分类Dev

在jquery模板中进行循环?

来自分类Dev

使用Node.js异步请求在Redis中进行循环

来自分类Dev

在python中进行计数的循环

来自分类Dev

在 SQL 请求中进行比较