我正在尝试从Firebase检索数据,并使用EJS呈现数据。
我将用于检索的代码放在SailsJS action2中,并在调用路由时调用它。
但是,由于获取数据是异步请求,因此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>