使用Firebase在SailsJS上重新渲染EJS

时间:2019-04-25 11:03:04

标签: node.js firebase firebase-realtime-database sails.js ejs

我正在尝试从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>

0 个答案:

没有答案