node.js回调函数与事件

1.异步函数
var fs = require ( 'fs' ) ;
fs . readFile ( 'file.txt' , 'utf-8' , function ( err , data ) {
if ( err ) {
console . log ( '读取文件错误' ) ;
} else {
console . log ( data ) ;
}
} )
console . log ( 'end' ) ;

2.同步函数
var fs = require ( 'fs' ) ;
var data = fs .readFileSync ( 'file.txt' , 'utf-8' ) ;
console . log ( data ) ;
console . log ( 'end' ) ;

3.分析:
调用时所作的工作只是将异步式I/O请求发送给操作系统,然后立即返回并执行后面的语句,执行完以后进入事件循环监听事件,当fs接收到IO请求完成事件时。事件循环主动调用完成后续工作。同步则是阻塞等待完成后,继续执行。

4.事件
//声明事件对象
var EventEmitter = require ( 'events' ) .EventEmitter;
var event = new EventEmitter () ;
//注册事件对象
event . on ( 'some_event' , function () {
console . log ( '这是一个自定义事件' ) ;
} ) ;
//多长时间后触发事件对象
setTimeout ( function () {
event . emit ( 'some_event' ) ;
}, 1000 ) ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wen's

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值