因为最近自己在学习node.js,刚开始学。看到这篇文章挺有意思,介绍了一下node.js有助于理解基于事件驱动的回调,就翻译了一下。
彻底理解js中的闭包。英文原文: Understanding node.js
java与node,
当我介绍node.js的时候,人们一般会有两种反应,要么很快就理解了要么会感到很困惑。如果你是第二种情况,这里我会尝试给你解释一下node。
你说得对!但是Node不是独角怪兽,它不会过去主动帮你做工作。它只不过是一个工具,而且它不会完全取代你的常规工具,至少现在。
好吧,当你需要在同一时间做几件事情时,Node总体上都是非常好的。你是否曾经写过一段代码并说道“我希望我的代码能并行运行”。好了,在node中除了代码,所有一切都是并行执行的。
还是这样说,在node中除了你的代码,所有一切都是并行执行的。要理解这一点,你可以想象你是代码王国的国王,而node是你的仆从。一天的开始,一个仆人叫醒国王并问他需要做什么。国王给了仆人一个任务列表然后去睡了一会儿回笼觉,然后这个仆人把这些任务分配给自己的同伴,他们就开始工作了。一旦一个仆人做完了一个任务,他就排在王宫外面等着汇报。国王每次只让一个仆人进来,然后听他汇报。生活是美好的,因为国王的仆人们并行地执行所有的任务,但每次只报告一个结果,所以国王可以集中精力。
当然。一个简单的node程序看起来像这样:
const fs = require('fs');fs.readFile('treasure-chamber-report.txt', function(report) {console.log("oh, look at all my money: "+report);
});fs.writeFile('letter-to-princess.txt', '...', function() {console.log("can't wait to hear back from her!");
});
这段代码给了node两个任务,一个是读文件一个是写文件,然后你的代码就可以去休息了。一旦node完成一个任务,相应的回调函数就会被触发。但是同一时刻只能有一个回调函数被触发,其他的回调函数只能排成一列等待,直到这个回调函数执行完毕。另外我们不能保证这些回调函数被触发的顺序。
你说对啦,这就是JavaScript单线程/事件循环设计之美。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态