【发布时间】:2017-04-17 05:49:17
【问题描述】:
有人可以向我解释这里的for 循环发生了什么吗?我不明白为什么循环超出了它的条件。我希望条件[i] 停止在'2'。我想这种行为对于for 循环中的其他异步函数是相同的。非常感谢!
var path = require('path')
var fs = require('fs')
var request = require('request')
var cheerio = require('cheerio')
for (i=0; i < 3; i++) {
console.log(i)
var arr = []
var url = 'https://en.wikipedia.org/wiki/Web_scraping'
request (url, function(error,response,body) {
if(error){
throw err;
} $ = cheerio.load(body)
var x = $.html()
console.log(i)
})
}
/* Results
0
1
2
3
3
3
*/
【问题讨论】:
-
试运行此条件
for(i=0; i < 3; i++){,如果它从0开始,它将运行3次,只运行两次更改for(i=1; i < 3; i++){或for(i=0; i < 2; i++){或for(i=0; i <= 1; i++){
标签: javascript for-loop asynchronous