首页 > Web开发 > 详细

Node.js笔记(0001)---connect模块

时间:2014-08-02 12:41:53      阅读:360      评论:0      收藏:0      [点我收藏+]

首先来看这一部分代码

 1 /**
 2  * Created by bsn on 14-7-1.
 3  */
 4 var connect = require(‘connect‘);
 5 
 6 var app = connect();
 7 function hello(req, res, next) {
 8     console.log(req.url);
 9     res.end(‘hello bsn‘);
10     next();
11 }
12 
13 function helloAgain(req, res) {
14     console.log(‘hello again‘);
15     res.end(‘hello again‘);
16 }
17 
18 app.use(hello)
19     .listen(3000);

如果请求http://localhost:3000

这一部分代码的输出是什么(控制台和浏览器中)?

首先想到的第一个答案可能是

浏览器:hello bsnhello again

控制台:/

然而实际上输出的是:

浏览器:hello bsn

控制台:/

           /favicon.ico


 

为什么?

关于控制台的输出结果是因为请求了两次,除了我们手动触发的那一次,还包括浏览器自动去请求图标的那一次,这一点自然好理解

那关于浏览器为什么输出的不是hello bsnhello again呢?

因为在第一次请求的时候,在hello方法处理中使用了res.end(...);即resonse已经结束,后面的响应就失效,如果hello方法是这样写的:

1 function hello(req, res, next) {
2     console.log(req.url);
3     res.write(‘hello bsn‘);
4     next();
5 }

那结果就是浏览器输出hello bsnhello again

关于这个模块自己知识刚开始接触,后续自己也会深入去学习

Node.js笔记(0001)---connect模块,布布扣,bubuko.com

Node.js笔记(0001)---connect模块

原文:http://www.cnblogs.com/bsn-huang/p/3886741.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!