84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
图片描述
result1的时候直接报错,求帮忙
1.当在第一个get路由解析成功后,服务端会直接render content1渲染出去,不会等到第二个的到来,这也就是为什么参数当中有一个next的原因。
2.express中,路由的顺序是挨着挨着走的,如果你不使用next,那么默认只会触发第一个get()中的回调方法。
同步查询,最后一起render
我也是新手,给你写了一些代码,能说明逻辑问题
let data = {}; router.get('/', function (req, res, next) { data = {}; //模拟DB查询回调 setTimeout(function () { data.user = {id: 1, username: 'zhaojunlike'}; //传递到下面 next(); }, 1000); }); router.get('/', function (req, res, next) { console.log(data); //模拟第二次查询并且输出Render setTimeout(function () { data.content = {email: 'zhaojunlike@gmail.com'}; res.render('index', {title: 'Express', data: data}); }, 1000); });
为什么
1.当在第一个get路由解析成功后,服务端会直接render content1渲染出去,不会等到第二个的到来,这也就是为什么参数当中有一个next的原因。
2.express中,路由的顺序是挨着挨着走的,如果你不使用next,那么默认只会触发第一个get()中的回调方法。
解决办法
同步查询,最后一起render
我也是新手,给你写了一些代码,能说明逻辑问题