node基础---02DIRT程序
Node所针对的应用程序有一个专门的简称:DIRT。它表示数据密集型实时(data-intensive real-time)程序
简单的异步程序
下面是用文件系统( fs )模块从硬盘中 加载resource.json
这段程序要从硬盘里读取resource.json文件。当所有数据都读出来后,会调用那个匿名函数 (即“回调函数”),传给它的参数是 er (如果出现错误)和 data (文件中的数据)。
Hello World HTTP服务器
Node常被用来构建服务器。有了Node,创建各种服务器变得非常简单。我过去习惯于 把程序部署到服务器中运行(比如把PHP程序放到Apache HTTP服务器上),可能会觉得这种方式 很怪异。在Node中,服务器和程序是一样的。
下面是个简单的HTTP服务器实现,它会用“Hello World”响应所有请求:
只要有请求过来,它就会激发回调函数 function (req, res) ,把“Hello World”写入到 响应中返回去。这个事件模型跟浏览器中对 onclick 事件的监听类似。在浏览器中,点击事件随 时都可能发生,所以要设置一个函数来执行对事件的处理逻辑,而Node在这里提供了一个可以随 时响应请求的函数。
下面是同一服务器的另一种写法,这样看起来 request 事件更明显:
流数据
用数据流的方 式来处理resource.json:
只要有新的数据块准备好,就会激发 data 事件,当所有数据块都加载完之后,会激发一个 end 事件。
Node中也有可写数据流,可以往里写数据块
如何把一张图片流到客户端:
数据从文件中读进来( fs.createReadStream ),然后数据随着进来就被 送到( .pipe )客户端( res )。在数据流动时,事件轮询还能处理其他事件
转载于:https://juejin.im/post/5c2c5ff0f265da61117a68e4
node基础---02DIRT程序相关推荐
- 构建node.js基础镜像_在Android上构建Node.js应用程序
构建node.js基础镜像 by Aurélien Giraud 通过AurélienGiraud 在Android上构建Node.js应用程序-第1部分:Termux,Vim和Node.js (Bu ...
- 开发笔记13 | 部署 Node.js 应用程序到云 ECS
<<系列文章集 前言 在之前的一篇文章中,我们介绍了 如何将一个本地的 Java 应用程序直接部署到阿里云 ECS ,有不少读者反馈,在本文中,我们来介绍如何部署 Node.js 应用程序 ...
- package.json在Node JS应用程序中的重要性
Before starting Node JS applications development, we should learn some basics and importance of pack ...
- 小程序动画从头开始_如何从头开始在Kubernetes上部署弹性Node.js应用程序
小程序动画从头开始 视频 (Video) 描述 (Description) You may have heard the buzz around Kubernetes and noticed that ...
- 带你入门nodejs第一天——node基础语法及使用
带你入门nodejs第一天--node基础语法及使用 带你入门nodejs第二天--http 模块化 npm yarm 带你入门nodejs第三天-express路由 带你学习nodejs第四天--身 ...
- Node.js高级编程【一】node 基础
目录 一.Node 基础 1.课程概述 2.Node.js 架构 3.为什么是Node.js ? 4.Node.js 的 异步IO 5.Node.js 主线程是单线程 6.Node.js 应用场景 7 ...
- node基础及模块化
目录 前言: 命令行 进程和线程 node简介 运行node.js Node.js 从命令行接收参数 exports npm fs文件系统模块 http模块 IP 地址 域名和域名服务器 创建 web ...
- EntityFramework 基础提供程序在 Open 上失败。
问题 System.Data.EntityException: 基础提供程序在 Open 上失败. ---> System.Data.SqlClient.SqlException: 在与 SQL ...
- 如何调试Node.js应用程序?
如何调试Node.js服务器应用程序? 现在,我主要使用带有以下打印语句的警报调试 : sys.puts(sys.inspect(someVariable)); 必须有更好的调试方法. 我知道Goog ...
- python基础代码事例-Python简单基础小程序的实例代码
1 九九乘法表 for i in range(9):#从0循环到8 i += 1#等价于 i = i+1 for j in range(i):#从0循环到i j += 1 print(j,'*',i, ...
最新文章
- python判断素数的函数_Python素数prime函数练习_Python源码实操
- Android --- 刚刚进入 Activity 页面的时候无法打开对话框,报错 Unable to add window -- token null is not valid; is your
- 关于导入项目eclipse出现乱码的问题
- 地壳中元素含量排名记忆口诀_广州地化所等发现洋内弧大陆地壳成熟新机制
- linux脚本大全,shell大全
- 两层卷积网络实现手写数字的识别(基于tensorflow)
- 这可能是目前最好的图像超分辨率算法,刚刚开源了
- 奥飞娱乐:贝肯熊和镇魂街盲盒产品计划于2021年下半年上市
- 人生真是圆的,从BASIC开始的程序人生,又回到了BASIC,难道。。。。。
- unity3D禁用脚本
- Web后端开发入门(1)
- C++ 酒店管理系统
- 在MySQL中设计新闻网站_基于MySQL新闻搜索引擎的设计与实现
- javascript中用switch判断今天星期几
- 了解Java的反射机制
- 牛客 F - 爬塔 (分组背包)
- 小酷智慧地图3D导览v1.0.87打卡定位 地图打卡
- bzoj1412: [ZJOI2009]狼和羊的故事(最小割)
- iOS Auto Layout界面自动布局(2)
- c语言timer linux 回调函数_SetTimer 与回调函数
热门文章
- SQL练习题——店铺UV、访客信息
- 人工智能对数据分析师的影响
- wpf自己画表盘_练手WPF(一)——模拟时钟与数字时钟的制作(上)
- 开心网创始人兼CEO程炳皓
- php乘法表颜色渐变图片,用标准标签库写的九九乘法表(带渐变颜色)
- tplink查看上网记录_TPLINK路由器控制面板查看运行状态详解
- 【PAT】敲笨钟 (20 分)
- 基于Retrofit框架的金山API翻译功能案例
- 秀米的编辑的图片无法显示
- 共享打印机无法访问计算机,win7系统文件夹和打印机共享后无法访问的解决方法...