84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
Bildbeschreibung
Result1 meldet direkt einen Fehler, bitte helfen Sie
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
我也是新手,给你写了一些代码,能说明逻辑问题