Node.js 如何在NodeJs框架Adonisjs中将异步数据从控制器传递到视图
我不熟悉nodejs,正在努力使用firebase和nodejs框架adonisjs。我想问一下如何将数据从控制器传递到视图?这是异步的,因为您知道firebase是异步的Node.js 如何在NodeJs框架Adonisjs中将异步数据从控制器传递到视图,node.js,firebase,model-view-controller,Node.js,Firebase,Model View Controller,我不熟悉nodejs,正在努力使用firebase和nodejs框架adonisjs。我想问一下如何将数据从控制器传递到视图?这是异步的,因为您知道firebase是异步的 const firebase = use('App/Controllers/Http/FirebaseController') class CityController { index({view}){ var db = new firebase().admin().firestore(); var c
const firebase = use('App/Controllers/Http/FirebaseController')
class CityController {
index({view}){
var db = new firebase().admin().firestore();
var citiesRef = db.collection('city');
var data = []
var allCities = citiesRef.get()
.then(snapshot => {
snapshot.forEach(doc => {
data.push({
title : doc.id,
data : doc.data()
})
});
// send data from here? how?
})
return view.render('cities', {data : data}); // data is being sent as empty due to async
}
}
module.exports = CityController
您可以使用AJAX这样做:
$ajax.({
url:Your URl Code Here //http://0.0.0.0:333/api/.../+ ID +/...,
type:"POST",
status:....,
compelete:function(result,status...){
//do what you want in this function
}
})
const firebase = use('App/Controllers/Http/FirebaseController')
class CityController {
async index({view}){
var db = new firebase().admin().firestore();
var citiesRef = db.collection('city');
var data = []
await citiesRef.get()
.then(snapshot => {
snapshot.forEach(doc => {
data.push({
title : doc.id,
data : doc.data()
})
});
// send data from here? how?
})
return view.render('cities', {data : data}); // data is being sent as empty due to async
}
}
module.exports = CityController