在节点中异步使用Http Get

时间:2018-06-04 13:35:07

标签: node.js http asynchronous

对于url列表中的每个url,我正在尝试在请求之后将该url的字符串响应推送到数组。这基本上将URL列表映射到其内容。问题是,结果列表的顺序必须与URL相同。这取自this challenge

我无法弄清楚为什么我的解决方案不起作用。据我所知,它应该把事情按顺序排列。但它没有通过测试。

var http = require('http')
var urls = process.argv.slice(2, process.argv.length)

var result = Array(3)
urls.forEach((url, ind) => {
    var str = ''
    http.get(url, response => {
        response.on('data', d => {
            str+=d.toString()
        })

        response.on('end', () => {
            result[ind] = str

        })
        if (result.every(val => {return val.length!==0})){
            result.forEach(s => {console.log(s)})
        }

    })


})

以下是研讨会的测试结果:

  
      
  1. 实际:“如果他有一个巨大的jillaroo,她会是正确的。他们就像一个像辣妹一样建造的esky flamin。”
  2.   
  3. 预计:“你在岩石上扯下小小的劈啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪嗖   有点像一个胡思乱想的人。 “

  4.   
  5. 实际:“你在岩石上扯下小小的劈啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪啪   有点像一个胡思乱想的人。 “

  6.   
  7. 预计:“如果他有一个巨大的jillaroo,她会是正确的拍打。像一个像辣妹一样建立起来的esky flamin。”

  8.   
  9. 实际:“如果他有一个巨大的jillaroo,她会是正确的拍打。像一个像辣妹一样建立的esky flamin一样忙。”

  10.   
  11. 期待:“我们没有戏剧性地从圣诞节那里挣扎。像铁人队友一样忙碌,就像一个东西。   作为一个像一个rip snorter脱颖而出的奶油。小心鼠标袋   带着丰盛的午餐。 Shazza在trent的岩石上给我们一些粗毛   从强大的摔倒。 “

  12.   
  13. ACTUAL:“”

  14.   
  15. 预期:“”
  16.   

0 个答案:

没有答案