如何解决io非阻塞带来的问题?
node吧
全部回复
仅看楼主
level 1
init_YCH 楼主
初学node.js,他的异步执行确实能提高效率,但是不会用就会出问题了
我现在想实现通过遍历json来遍历json值中相应的文件夹,从而找到相同的文件,可是io非阻塞打乱了我的程序执行顺序,得不到我想要的结果,望大虾们指点:
上代码:
输出结果是:
img
mp3
mp4
mp4
mp4
mp4
也就是外层for先执行了[乖]
2014年04月09日 09点04分 1
level 1
别截图啊,贴个代码还能帮你改改。
2014年04月30日 05点04分 2
那就贴代码呵
2014年04月30日 05点04分
level 1
init_YCH 楼主
var fs = require( 'fs' ),stat = fs.stat,path = require( 'path' );
var jsons = {"img":["\/home\/dingaee\/upfile\/img\/1.jpg","\/home\/dingaee\/upfile\/img\/2.jpeg"],"mp3":["\/home\/dingaee\/upfile\/mp3\/1.mp3","\/home\/dingaee\/upfile\/mp3\/2.mp3"],"mp4":["\/home\/dingaee\/upfile\/mp4\/1.mp4","\/home\/dingaee\/upfile\/mp4\/2.mp4"]};
for(i in jsons){
var fpath = "/home/dingaee/upfile/"+i;
var dpath = "/home/wwwroot/default/socdown/upfile/"+i;
var filescp;
fs.readdir(fpath,function(err,files){
if(err) throw err;
//做一些事情,这些代码可以先省
console.log(i);
})
console.log(i);
}
2014年04月30日 05点04分 3
level 3
用回调
2014年05月02日 09点05分 4
额,还是不太明白,能大概写下吗
2014年05月02日 09点05分
回复 init_YCH : 你可以参考 http://www.nodebeginner.org/index-zh-cn.html#blocking-and-non-blocking 这个教程里面的阻塞与非阻塞 部分
2014年05月02日 09点05分
回复 Raymond__Yip :啊,谢谢啦
2014年05月02日 09点05分
1