В моем приложении у меня есть страница продавца, которая отображает продукты, перечисленные этим продавцом. Я использую asyncData, чтобы получить все данные, необходимые для страницы (лучше для SEO)
asyncData ({params, app, error }) {
return app.$axios.$get(`/seller/${params.username}`).then(async sellerRes => {
let [categoriesRes, reviewsRes, productsRes] = await Promise.all([
app.$axios.$get(`/categories`),
app.$axios.$get(`/seller/${params.username}/reviews`),
app.$axios.$get(`/seller/${params.username}/products`)
])
return {
seller: sellerRes.data,
metaTitle: sellerRes.data.name,
categories: categoriesRes.data,
reviewsSummary: reviewsRes.summary,
products: productsRes.data,
}
}).catch(e => {
error({ statusCode: 404, message: 'Seller not found' })
});
},
Хотя этот метод выполняет предназначенную работу, я не могу не думать, что делаю это неправильно.
При переходе на страницу дважды отображается строка прогресса (что нечетно).
Я уже некоторое время искал, чтобы попытаться найти примеры нескольких запросов в asyncData, но там не так много.
Может быть, я не должен вызывать несколько запросов в asyncData?