`
csstome
  • 浏览: 1477388 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Node.js

阅读更多

在玩node.js 的朋友可以瞧瞧。


    process.reallyExit(status)

    用于进程主动退出,status设置退出的状态码。请注意,reallyExit退出的进程不会调用'exit'事件,下面的代码不会有任何输出:

var  interval = setInterval( function (){
    process.reallyExit(
1 );
},
1000 );
process.on('exit',
function (){
    console.log(
" hello " );
});


   process._kill(pid,sig)

   用于给指定pid的进程发送指定信号(类似kill命令),这是个“private”方法,你需要慎重使用,下面的代码会杀死自身的进程:

var  pid = process.pid
process._kill(pid,
9 );


   process.binding(name)

   非常有用的方法,很奇怪API文档里竟然没提到,这个方法用于返回指定名称的内置模块。例如下面的代码将打印node_net模块所有的可以调用的方法或变量(很多是文档没有提到的并且没有exports的,后续我会介绍下):

var binding = process.binding('net');
console.dir(binding);


   process.dlopen(filename,target)

   看源码注释说是用来动态加载node.module的动态链接库的,以后尝试写扩展的时候也许可以尝试一下。

   定时器
   Node.js的定时器模块的实现是有讲究的,对于超时时间after<=0的callback,会在内部new一个Timer并start(本质 是使用libev的timer机制);但是对于after>0的callback,却不是这样。因为在实际应用中,大多数定时器事件的超时时间都是 一样的,如果每个事件都new一个Timer并start,代价太高。因此node.js采用了一个类似哈希表的方案,将相同after超时时间的定时器 事件组织成链表,以after为key,以链表为value整体构成一张表。每个链表只new一个Timer,这个Timer负责整个链表的定时器事件, 当某个事件超时调用后,利用ev_timer_again来高效地重新设置超时时间。
   如果你确实希望对于after>0的定时器也每次new一个Timer来处理,那也可以做到,这就要用到前面提到的process.binding方法来获取timer模块,一个例子:

var  Timer  =  process.binding('timer').Timer;

var  timer = new  Timer();
timer.callback
= function (){
    console.log(
" callback called " );
};
timer.start(
1000 , 0 );

  
    timer.callback
    设定timer的回调函数,当超时的时候调用。

    timer.start(after,repeat)
    启动定时器,在after毫秒之后调用超时回调;如果repeat==0,则自动停止定时器;如果repeat>0,则在repeat毫秒之后再次调用callback,以repeat毫秒为间隔不断重复下去。

    ps.这篇blog刚好是我的第499篇blog,不出意外,第500篇还是继续介绍node.js。

0
1
分享到:
评论
1 楼 idreamblue 2011-11-02  
我用node.js+express+ejs玩了玩,但是遇到中文乱码不知道怎么解决,请解惑。

相关推荐

    Node.js(node-v16.15.1-win-x64.zip)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

    Node.js(node-v16.15.1-win-x86.zip)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

    Node.js英文书籍2015出版共9本(一次下载)

    Full Stack Javascript - Learn Backbone.js, Node.js and MongoDB (APress 2015).epub Learning Node.js for Mobile Application Development (Packt 2015).pdf Microsoft Press Node.js for .NET Developers (2015...

    Node.js(node-v16.15.1.pkg)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

    Node.js(node-v16.15.1.tar.gz 源码)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

    Node.js(node-v16.15.1-linux-arm64.tar.xz)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

    Node.js 开发指南.pdf

    第1章 Node.js简介 1 1.1 Node.js是什么 2 1.2 Node.js能做什么 3 1.3 异步式I/O与事件驱动 4 1.4 Node.js的性能 5 1.4.1 Node.js架构简介 5 1.4.2 Node.js与PHP+Nginx 6 1.5 JavaScript简史 6 ...

    Node.js开发实战详解源代码

    书由浅入深,全面、系统地介绍了Node.js开发技术。书中提供了大量有针对性的实例,供读者实践学习,同时提供了大量的实践练习题及详尽的解答,帮助读者进一步巩固和提高。本书重在代码实践,阅读时应多注重实践编程...

    Node.js Javascript运行环境(runtime environment)

    Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好...

    Node.js(node-v16.15.1-aix-ppc64.tar.gz)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

    Beginning Node.js

    From this book you will learn how to write maintainable server-side JavaScript using Node.js, how to test your code and deploy it on the internet. Table of Contents Chapter 1: Setting up for Node.js...

    Server Side development with Node.js and Koa.js

    Modern versions of JavaScript have made this possible in Node.js, and Koa is a Node.js framework that makes it easy. This book is the ideal introduction for JavaScript developers who want to create ...

    新时期的Node.js入门.pdf

    新时期的Node.js入门 新时期的Node.js 不好找的node.js资源,你值得珍惜。 此刻不下载,更待何时?

    Node.js参考手册中文CHM版

    资源名称:Node.js参考手册 中文CHM版内容简介:简单的说Node.js就是运行在服务端的 Javascript。Node.js 是一个基于Chrome Javascript 运行时建立的一个平台。本文给大家带来Node.js参考手册,需要的...

    Professional Node.js Building Javascript Based Scalable Software

    Node.js is a powerful and popular new framework for writing scalable network programs using JavaScript. This no nonsense book begins with an overview of Node.js and then quickly dives into the code, ...

    [Node.js] Node.js the Right Way (英文版)

    [Packt Publishing] Node.js the Right Way Practical, Server-Side JavaScript That Scales (E-Book) ☆ 图书概要:☆ Get to the forefront of server-side JavaScript programming by writing compact, robust,...

    Node.js入门经典pdf及书中源代码

    Node.js是一套用来编写高性能网络服务器的JavaScript工具包,Node.js入门经典采用直观、循序渐进的方法对如何使用Node.js来开发及具速度和可扩展性优势的服务器端应用程序进行了讲解。  《Node.js入门经典》分为6...

    koa 与 node.js 开发实战2

    它扩充了JavaScript的应用范围,使JavaScript也能像其他语言一样操作各种系统资源,因此,前端工程化开发的大量工具都开始运行在Node.js环境中。由于Node.js采用事件驱动、非阻塞I/O和异步输出来提升性能,因此大量I...

    koa 与 node.js 开发实战完整版

    它扩充了JavaScript的应用范围,使JavaScript也能像其他语言一样操作各种系统资源,因此,前端工程化开发的大量工具都开始运行在Node.js环境中。由于Node.js采用事件驱动、非阻塞I/O和异步输出来提升性能,因此大量I...

    Node.JS V8.12.0

    Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js 不是一个 JavaScript 框架,不同于CakePHP、Django、Rails。Node.js 更不是...

Global site tag (gtag.js) - Google Analytics