【发布时间】:2018-03-07 14:24:52
【问题描述】:
我有这个简单的代码:
文件app.js:
var cheerio = require('cheerio');
var express = require('express');
var fs = require('fs');
var request = require('request');
var downloader = require('./routers/downloader.js');
const app = express();
downloadAll();
function downloadAll() {
downloader.test();
}
文件downloader.js:
var cheerio = require('cheerio');
var express = require('express');
var fs = require('fs');
var request = require('request');
var methods = {};
methods.test = function(req, res) {
for(var i = 1; 10; i++) {
console.log(i); // DOESN'T WORK
}
var obj;
fs.readFile('./output/ita-2015-24m.json', 'utf8', function(err, data) {
if(err) {
throw err;
}
obj = JSON.parse(data);
console.log(obj);
}
}
module.exports = methods;
当我使用node app.js 运行app.js 时,我得到:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ...。
循环没有结束。
我尝试改变这个循环的位置,将它插入到 readFile 函数中,但这是同样的问题。
我的目标是遍历obj 对象。
为什么?我该如何解决?
【问题讨论】:
-
您的
var methods = {};是一个变量,它保存空object的值。您应该使用for in循环(注意不可枚举的属性)而不是使用 for 循环测试您的代码
标签: javascript node.js for-loop