基于OpenLayers的WebGIS程序二次开发实例教程
35609 人在学
Javascript是一个事件驱动语言,Node利用了这个优点,编写出可扩展性高的服务器。Node采用了一个称为"事件循环(eventloop)"的架构,使得编写可扩展性高的服务器变得既容易又安全。提高服务器性能的技巧有多种多样。
Node.jsDomain(域)简化异步代码的异常处理,可以捕捉处理trycatch无法捕捉的异常。
Domain模块可分为隐式绑定和显式绑定:
隐式绑定:把在domain上下文中定义的变量,自动绑定到domain对象
显式绑定:把不是在domain上下文中定义的变量,以代码的方式绑定到domain对象
vareventEmitter=require("events").EventEmitter;
vardomain=require("domain");
varemitter1=neweventEmitter();
//创建域
vardomain1=domain.create();
domain1.on("error",function(err){
console.log("domain1来处理这个错误:"+err.message);
})
//显示绑定
domain1.add(emitter1);
//添加emitter1对error的监听
emitter1.on("error",function(err){
console.log("emitter1来处理这个错误:"+err.message);
})
emitter1.emit("error",newError("触发错误,指定由emitter1处理"));
emitter1.removeAllListeners("error");//移除emitter1对error的监听
emitter1.emit("error",newError("触发错误,指定由domain1处理"));
//创建域
vardomain2=domain.create();
domain2.on("error",function(err){
console.log("domain2来处理这个错误:"+err.message);
})
//隐式绑定
domain2.run(function(){
varemitter2=neweventEmitter();
emitter2.emit("error",newError("触发错误,指定由domain2处理"));
})
domain1.remove(emitter1);
emitter1.emit("error",newError("触发错误,系统将崩溃"));
Node.js是一个基于ChromeV8引擎的JavaScript运行环境。Node.js使用了一个事件驱动、非阻塞式I/O的模型。
Node是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为与php、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。发布于2009年5月,由RyanDahl开发,实质是对ChromeV8引擎进行了封装。