#javascript #node.js #express #ejs
Вопрос:
У меня есть следующий код:
<%
// fetching from a cdn api
cloudinary.api.resources(
{
type: 'upload',
prefix: ''
},
(error, result) => {
const assets = result.resources
// console.log(assets)
%>
anything i have here isnt rendered
<% }) %>
Я в основном хочу просмотреть каждый элемент в массиве ресурсов с помощью forEach и отобразить их, но на самом деле это не визуализация. Вход в консоль работает нормально.
Заранее спасибо!
Ответ №1:
Другой подход. Вы можете извлечь ресурсы перед отображением своей страницы(res.render), а затем передать их в качестве реквизитов при отображении этой страницы. Подобный этому:-
res.render("PATH",{assets:result.resources})
А затем вы можете просмотреть массив активов, и код в файле ejs выглядит следующим образом:-
<% assets.forEach(assest => { %>
"MARKUP CODE"
<% }) %>
Комментарии:
1. Я хочу, чтобы он получал данные каждый раз, когда страница обновляется, поэтому передача ее в качестве опоры не будет работать, потому что тогда она будет обновляться только при перезапуске сервера
2. Я так не думаю, потому что всякий раз, когда вы делаете запрос на «/yourPage», он будет запрашивать API и извлекать данные в вашем контроллере, а затем снова передавать их в ваш файл ejs в качестве поддержки, поэтому вам не нужно перезапускать сервер снова и снова.