见下面的方法test。
要达到的效果是:执行test1(),node读取文件,执行arrayObj循环,循环执行完成后再执行最下面的return,跳出test方法。
实际效果:下面的方法的实际效果是在循环没有执行完成,就会执行return,也就是readfile读取完文件就会执行return。怎样才能顺序执行呢?要求循环执行完了之后再执行return。
var arrayObj=['xx','xxx','xxx'];function test1(){
fs.readFile('test.json',function(err,data){
arrayObj.some(function(obj,idx){ //循环......
});
}); return;
}
面对疾风吧2016-11-07 14:47:05
readFile是异步操作,你可以考虑用readFileSync方法
突然打不开node官网,你可以参考这个 http://www.jb51.net/article/58510.htm