Я пытаюсь получить данные из firebase и визуализировать данные с помощью EJS.
Я помещаю код для извлечения в действие SailsJS2 и вызываю его при вызове маршрута.
Однако, поскольку получение данных является асинхронным запросом, EJS обрабатывает его только в первый раз (до поступления данных)
Я бы хотел, чтобы он перерисовался после того, как данные полностью пришли.
Я пытался добавить .then к вызову firebase, чтобы вернуть другой res.view () с новыми данными, вставленными как локальные, но это не работает.
Если у кого-нибудь есть какие-либо полезные предложения о том, как сделать эту работу, это было бы замечательно.
Заранее спасибо!
// файл action2
fn: async function (req,res) {
try {
var myLocksReference = firebase.database().ref('/Registry').child('APIKey').child('UID')
var lockData = {}
myLocksReference.once("value").then(function(snapshot){
lockData = snapshot.val()
myLocksReference.off("value")
}).then(function(){
console.log(lockData)
return this.res.view('pages/account/account-overview', {
sample: lockData
})
})
console.log(lockData)
return this.res.view('pages/account/account-overview', {
sample: "HEY I AM BLANK"
});
// Routes.js файл
'GET /account': { action: 'account/view-account-overview',
view:'pages/account/account-overview'
// файл ejs
<div id="theschools">
<h1>List</h1>
<%= sample %>
</div>