Перерисовать EJS на SailsJS, используя Firebase - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь получить данные из 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>
...