Прежде всего, ваш код не может работать, поскольку T.get
является асинхронным и stweet
определено в области, к которой у res.render('tweet', {stweet: stweet});
нет доступа. Так что код будет выдавать:
Uncaught ReferenceError: stweet is not defined
T
поддерживает обещания, вы должны их использовать, чтобы ваш код был намного чище. После выполнения T.get
просто отправьте данные непосредственно в шаблон 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');
}
});
Вы должны проверить: Как вернуть ответ от асинхронного вызова?