首先,您的代码无法工作,因为
T.get
异步(&N);
stweet
定义的范围
res.render('tweet', {stweet: stweet});
没有访问权限。因此代码将抛出:
Uncaught ReferenceError: stweet is not defined
T
支持承诺,您应该使用它们,这样您的代码就会更干净。之后
T、 获取
只需将数据直接发送到PUG模板,无需使用:
.push
app.get('/tweet/:id', async(req, res) => {
try {
// We wait until `T.get` is done
const { data } = await T.get(`statuses/show/${req.params.id}`, { /** params **/ });
res.render('tweet', { stweet: [data.text] });
} catch(e) {
// Or whatever error message you want to display
res.render('error');
}
});
您应该检查:
How do I return the response from an asynchronous call?