nodejs 异步应该如何处理
varfileArr=[];//读取文件目录fs.readdir(lastest_pages_path,function(err,files){if(err){conso...
var fileArr = [];
//读取文件目录
fs.readdir(lastest_pages_path,function(err,files){
if(err){
console.log(err);
return;
}
fileArr.push(files);
}
console.log(fileArr);
结果是空数组,应该怎么改写能处理异步 展开
//读取文件目录
fs.readdir(lastest_pages_path,function(err,files){
if(err){
console.log(err);
return;
}
fileArr.push(files);
}
console.log(fileArr);
结果是空数组,应该怎么改写能处理异步 展开
2个回答
展开全部
结果当然是空数组因为异步,会先执行console.log(),要想得到只能把console.log()写在回调函数里。回调函数是当函数执行结束后才会调用的。
var fileArr = [];
//读取文件目录
fs.readdir(lastest_pages_path,function(err,files){
if(err){
console.log(err);
return;
}
fileArr.push(files);
console.log(fileArr);
}
var fileArr = [];
//读取文件目录
fs.readdir(lastest_pages_path,function(err,files){
if(err){
console.log(err);
return;
}
fileArr.push(files);
console.log(fileArr);
}
追问
不是这个意思,我想在函数外处理这个数组。该怎么处理异步
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询