nodejssetTimeout函数使用-创新互联

node.js,说简单点,基于Google V8引擎的,运行在服务器端的JavaScript。nodejssetTimeout
函数使用

具有单线程、非阻塞IO、事件驱动等特性。

成都创新互联2013年至今,是专业互联网技术服务公司,拥有项目网站设计、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元振兴做网站,已为上家服务,为振兴各地企业和个人服务,联系电话:13518219792

学习的这几天,感受最深的还是非阻塞IO。由于采用Google V8引擎,node.js可以异步处理数据,举个最简单的例子。

 
1 2 3 4 5 6 7 8 setTimeout(function(){console.log('5')},5000); console.log('1'); function test(){ setTimeout(function(){console.log('2')},1000); } test(); console.log('3'); setTimeout(function(){console.log('4')},2000);

如果是阻塞IO,程序按行顺序执行,每行执行完再去执行下一行。

运行结果为5,1,2,3,4。运行时间约为8000ms。

node.js采用非阻塞IO,程序按顺序执行,但并不等待当前代码执行完毕,即IO不阻塞。

 
1 2 3 4 5 6 [root@asxzy nodejs]# node test.js 1 3 2 4 5

运行结果为1,3,2,4,5。运行时间约为5000ms

这就是非阻塞IO所带来的好处,永远不会产生死锁,因为它本身没有锁机制。

同时,非阻塞IO也对变成带来的一些问题:

过程式编程中,有很多情况下是本句代码要求先前的代码执行完毕,如要调用之前处理的数据结果、和数据库交互等。

node.js中可以采用回调方式解决这个问题。

比如

?
1 setTimeout(function(){console.log('5')},5000);

在执行完5000ms的Timeout之后,调用function(){console.log(’5′)}

很好理解了吧!!


网页标题:nodejssetTimeout函数使用-创新互联
文章出自:http://bzwzjz.com/article/hshsj.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设公司 成都网站建设 成都网站制作 成都网站建设 成都企业网站建设公司 成都企业网站建设 成都网站建设公司 成都营销网站制作 手机网站建设 网站制作 重庆网站制作 成都网站建设公司 企业网站设计 定制级高端网站建设 成都商城网站建设 营销型网站建设 成都网站设计 成都网站制作 高端品牌网站建设 营销型网站建设 成都网站建设公司 古蔺网站建设