首页 > 代码库 > Node.js笔记(0001)---connect模块
Node.js笔记(0001)---connect模块
首先来看这一部分代码
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
关于这个模块自己知识刚开始接触,后续自己也会深入去学习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。