[node] 请问有没有办法写一个非阻塞的function

楼主: OrO3 (OrO3)   2015-12-06 22:06:48
node.js采用事件驱动模式
在语言以及标准库当中用了很多非阻塞的function
例如写入档案时
fs.appendFile()
那我想请问,有没有办法自己建立一个这种,非阻塞的function ?
像是叫他算个东西,算完在再丢上来,而不要占用主执行绪之类的
像是
function count(callback){
//算一些很浪费时间的东西
callback(500);
}
console.log("start");
count(function(ans){
console.log("ans:"+ans);
});
console.log("end");
会显示
start
end
ans:500
(没阻塞在count)
而不是
start
ans:500
end
(阻塞在count)
作者: mmis1000 (秋月恋枫)   2015-12-06 22:36:00
利用 child_process 可以办到可以把需要计算的东西丢到子程序计算不过用node.js跑需要大量计算的东西其实本来就不是很适合
楼主: OrO3 (OrO3)   2015-12-06 22:55:00
原来如此
作者: mrbigmouth (大嘴先生)   2015-12-07 16:56:00
fibers 不过fibers在比较新的node.js版本好像有问题?
作者: mmis1000 (秋月恋枫)   2015-12-07 22:18:00
fibers 貌似还是跑在主thread上阿,load太大还是会影响到主程式
作者: Neisseria (Neisseria)   2015-12-08 14:14:00

Links booklink

Contact Us: admin [ a t ] ucptt.com