【发布时间】:2018-02-15 12:29:47
【问题描述】:
我刚刚学习使用 Node 进行后端编程,并且对异步编程的工作原理非常陌生。一个问题需要我从一组 url 中获取数据,并按照它们列出的顺序返回数据。我使用了一个 for 循环来获取和返回数据,基本上看起来像这样:
for(let i=0;i<urlArray.length;i++){
http.get(urlArray[i],(response)=>{
//return the response
}
}
我该怎么做?
【问题讨论】:
-
你读过
let和var之间的区别吗...这与变量的范围有关——在处理异步代码时很重要,对于每个迭代,变量i“frozen”的值在块中,如果你愿意,可能有更好的方法来解释它,但事实上你不理解你读过的文档让它变得困难-尽管在您显示的代码中一点也不重要 -
好的,
var、let和const与您的问题无关。它们之间的差异与变量范围有关。你需要研究的是 Promise。 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… -
Promise + Promise.all
标签: javascript node.js asynchronous