Node.js功能实例分析

发布时间:2022-04-01 11:23:07 作者:iii
来源:亿速云 阅读:134

今天小编给大家分享一下Node.js功能实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。


我们来看下面的例子,以下程序实现的功能是最简单的,即打印出“Hello world”。

const http = require('http');
 
const hostname = '127.0.0.1';
const port = 1337;
 
http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World\n');
}).listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

在上面的例子中,许多链接可以被同时处理。没来一个链接请求,回调函数会被调用一次,如果没有工作的话node将处在睡眠中。

基于以上一点,与现在那些通过操作系统线程实现并发的模型对比发现,基于线程的网络应用效率相对低下并且使用也相对比较复杂。进一步来说,Node用户不用担心进程死锁——因为Node没有使用锁。而且在Node中几乎没有一个方法是直接去操作I/O的,因此进程永远不会被阻塞。正是因为Node不会被阻塞,因此经验少的程序员同样也可以开发出可伸缩的系统。

受Ruby’s Event Machine 或者 Python’s Twisted 等系统的影响,Node 在设计上和这些系统很相似,Node采用事件模型,将事件轮询作为了语法结构而不是作为应用库。在其他的系统中是通过阻塞调用开始事件轮询,典型的一个应用就是在脚本开始的时候通过回调函数定义一个行为,并且在脚本结束的时候再次通过类似于EventMachine::run()的阻塞调用开启一个服务。在Node中没有start-the-event-loop 的调用,只是执行完输入脚本以后就开始进入事件轮询了,当再没有回调函数执行的时候退出轮询。这种方式就像浏览器的javascript——事件轮询对于用户来说是透明的。

以上就是“Node.js功能实例分析”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

推荐阅读:
  1. Node.js Buffer模块功能及常用方法实例分析
  2. 基于node.js实现微信支付退款功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

node.js

上一篇:node.js环境性能高吗

下一篇:Node.js开发的知识点有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》