【发布时间】:2019-10-08 09:25:00
【问题描述】:
客户端只发送了一个请求,但多个 .get 函数正在捕获该请求。
这是我的代码。
const app = express()
app.get('/', (req, res) => {
console.log('home');
res.send('home');
});
app.get('/:var1', (req, res) => {
console.log('var1');
res.send('var1');
});
app.get('/:var1/:var2', (req, res) => {
console.log('var2');
res.send('var2');
});
app.listen(4000, () => {
console.log('listening in 4000')
});
我的预期是
when /:
console: home
browser: home
when /foo:
console: var1
browser: var1
when /foo/bar:
condole: var2
browser: var2
然而,实际结果是
when /:
console: home and var1
browser: home
when /foo:
console: var1 and var1
browser: var1
when /foo/bar:
condole: var2 and var1
browser: var2
如果结果是因为 NonBlocking-IO,为什么会出现两次 var1? 为什么浏览器只得到一个响应? 如何使用快速路由更改结果?
【问题讨论】:
-
这是由于 Express 路由行为。
标签: node.js express nonblocking url-parameters