NodeJs中的事件回调和非阻塞回调
在NodeJs中一定要搞清楚回调的两种用途:
1、基于事件的回调机制
var rs = fs.createReadStream(pathname);
rs.on('data', function (chunk) {
doSomething(chunk);
});
这是基于事件的回调,当‘data’事件被触发时,匿名的function会一直被回调,当然这种回调也是异步的非阻塞的回调
2、普通的、主要用于非阻塞的回调
这种回调一般都在API中出现,因为大部分的耗时操作都出现在文件读写和数据库的读写上,形式依然是将匿名函数传
递给另一个API函数。从而不会因为耗时操作阻塞Nodejs的主线程,从而影响其他的任务的执行,Nodejs中只有一条线程,
但是能够达到非阻塞的方式使用的是一种叫做事件轮询的方式达到的。
参见文章:https://nqdeng.github.io/7-days-nodejs/#6

浙公网安备 33010602011771号