Javascript Node js呈现多个静态方法
我目前正在学习Node.js来建立一个网站。 我在youtube上关注了一些关于expressjs的图图,我能够处理从mysql数据库收集信息的路由器和页面。我已经在一个类文件上分离了我的DB查询。 我能够在html页面上呈现信息,但当我想呈现类的2个方法时,我有点卡住了 这是y代码: ClassSettings.jsJavascript Node js呈现多个静态方法,javascript,node.js,Javascript,Node.js,我目前正在学习Node.js来建立一个网站。 我在youtube上关注了一些关于expressjs的图图,我能够处理从mysql数据库收集信息的路由器和页面。我已经在一个类文件上分离了我的DB查询。 我能够在html页面上呈现信息,但当我想呈现类的2个方法时,我有点卡住了 这是y代码: ClassSettings.js let connection = require('../config/db') class Settings { static platform(cb) { con
let connection = require('../config/db')
class Settings {
static platform(cb) {
connection.query('SELECT * FROM platforms', (err, rows) => {
if(err) throw err
cb(rows)
})
}
static entities(cb) {
connection.query('SELECT * FROM entitymanagement', (err, rows) => {
if(err) throw err
cb(rows)
})
}
}
module.exports = Settings
这是路由器部分。我可以通过一种方法收集信息:
router.get('/page1', (request, response) => {
if (request.session.loggedin) {
ssn=request.session;
let Settings = require('./models/ClassSettings')
Settings.platform(function(d){
response.render('modules/page1', {
Datas: d,
session : ssn,
url : request.originalUrl
})
})
} else {
response.redirect('/login');
response.end();
}
})
但我怎样才能“呈现”这两个呢
- 设置.平台
- 设置.实体
感谢node.js中的,mysql库是异步工作的,因此您必须将回调传递给它 您可以使用
mysql promise
和async/await
或者在平台方法的回调中调用entities方法
Settings.platform(function (d) {
Settings.entities(function (e) {
// entities as e will be available here, so you can pass it to Datas property
response.render('modules/page1', {
Datas: d,
session : ssn,
url : request.originalUrl
})
})
})