На моем пользовательском контроллере я хочу отправить запрос на получение ответа json.
Когда приходит ответ, я хочу присвоить значение переменной embed, но часть рендеринга:
res.render('user', {
user,
title: user.name,
embed: embed.html,
});
Происходит до завершения функции оси ... оставляя меня с пустым объектом.
Что мне нужно сделать, чтобы дождаться ответа ... и затем отобразитьtemplate?
Обратите внимание, что журнал консоли 2 происходит перед журналом консоли 1 в этом коде:
exports.getUserBySlug = async (req, res, next) => {
const user = await User.findOne({ slug: req.params.slug })
let embed = {}
if (!user) return next();
axios.get(`https://soundcloud.com/oembed?format=json&url=${user.musicLink}`)
.then(response => {
embed = response.data
console.log('1: ', embed)
})
.catch(error => {
console.log(error);
})
console.log('2: ', embed)
res.render('user', {
user,
title: user.name,
embed: embed.html,
});
};