美文网首页
第六天笔记

第六天笔记

作者: 任大code | 来源:发表于2016-09-13 10:03 被阅读0次

NodeJs I/O 键盘交互

操作系统对I/O的操作分为阻塞I/O和非阻塞I/O。阻塞I/O造成了CPU的等待,使CPU不能得到充分的利用;而非阻塞I/O虽然不必等待完整I/O的返回,但需要通过轮询重复的调用判断操作,这种判断操作也是对CPU的一种浪费。我们希望非阻塞I/O可以免去轮询的步骤,在实际I/O操作完成后,通过返回完成信号通知应用程序即可。    
Node使用了观察者模式和事件循环机制来实现这种异步I/O。这里以去餐厅消费为例,异步调用相当于去餐厅就餐的顾客,顾客将菜单交给服务员,即Node的I/O观察者,厨房即Node的事件循环机制询问服务员是否还有要做的菜,服务员将顾客的菜单交给厨房处理。  

阻塞代码实例

创建一个文件 input.txt ,内容如下:

极客坊官网地址:www.geekf.org  

创建 main.js 文件, 代码如下:

var fs = require("fs");

var data = fs.readFileSync('input.txt');

console.log(data.toString());
console.log("程序执行结束!");

以上代码执行结果如下:

$ node main.js   
极客坊官网地址:www.geekf.org  

程序执行结束!   

非阻塞代码实例

创建一个文件 input.txt ,内容如下:

极客坊官网地址:www.geekf.org  

创建 main.js 文件, 代码如下:

var fs = require("fs");

fs.readFile('input.txt', function (err, data) {
    if (err) return console.error(err);
    console.log(data.toString());
});

console.log("程序执行结束!");

以上代码执行结果如下:

$ node main.js  
程序执行结束!  
极客坊官网地址:www.geekf.org   

以上两个实例我们了解了阻塞与非阻塞调用的不同。第一个实例在文件读取完后才执行完程序。 第二个实例我们呢不需要等待文件读取完,这样就可以在读取文件时同时执行接下来的代码,大大提高了程序的性能。
因此,阻塞按是按顺序执行的,而非阻塞是不需要按顺序的,所以如果需要处理回调函数的参数,我们就需要写在回调函数内。

Node.js URL 请求(路由)

我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码。
因此,我们需要查看HTTP请求,从中提取出请求的URL以及GET/POST参数。这一功能应当属于路由还是服务器(甚至作为一个模块自身的功能)确实值得探讨,但这里暂定其为我们的HTTP服务器的功能。
我们需要的所有数据都会包含在request对象中,该对象作为onRequest()回调函数的第一个参数传递。但是为了解析这些数据,我们需要额外的Node.JS模块,它们分别是url和querystring模块。

QQ截图20160913093902.png

相关文章

  • 103-170429

    手帐笔记打卡第六天

  • 子弹笔记术:回归简单和高效

    今天是子弹笔记学习的第六天了。子弹笔记真是一款神奇的笔记。 什么是子弹笔记呢?它的神奇之处在哪里呢? 子弹笔记(B...

  • D062+3组齐鑫+《高效人士用超级笔记术》读书笔记

    今天是阅读此书的第六天!明天开始休长假,出去耍喽! 整合笔记第五部分———电子笔记检索. 文字和图像都能轻松查阅。...

  • 拆书笔记第六天-解决问题和形象演示

    【书籍】《金字塔原理》 【标题】 拆书笔记第六天-解决问题和形象演示 【字数】972 解决问题的逻辑 ① 界定问题...

  • D062+3组小莹子+《高效人士用超级笔记法》

    今日是阅读本书的第六天,阅读到本书的传达笔记这一章,这章主要说了三个笔记法。今天不说这个,而是要说前面的一小点内容...

  • 第六天笔记

    NodeJs I/O 键盘交互 阻塞代码实例 创建一个文件 input.txt ,内容如下: 创建 main.js...

  • 游戏类绘本(六)

    第六天阅读笔记[太阳][太阳][太阳] 【游戏类绘本的讲读攻略,让孩子玩着爱上阅读。】 游戏是孩子的天性,如果能在...

  • 20190515 - 草稿

    每日三件事+复盘 1下午减压课修改2.3— 2第五天笔记2 3第六天笔记4 小确幸:运动一下 成就感:❤ 幸福感:...

  • 2020-05-20 打开一颗心

    6/100 一百天写作。第六天。早上两场暴雨,突然入秋。 下午又是炎夏 今天写,阅读笔记。 陆陆续续的,我也算是看...

  • vue的服务器的搭建

    1首先打开第六天的文档里面vue05笔记 3,打开phpstudy 4,新建数据库 5右键itcast输入 6,解...

网友评论

      本文标题:第六天笔记

      本文链接:https://www.haomeiwen.com/subject/jidmettx.html