Javascript Node js呈现多个静态方法

Javascript 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

我目前正在学习Node.js来建立一个网站。 我在youtube上关注了一些关于expressjs的图图,我能够处理从mysql数据库收集信息的路由器和页面。我已经在一个类文件上分离了我的DB查询。 我能够在html页面上呈现信息,但当我想呈现类的2个方法时,我有点卡住了

这是y代码:

ClassSettings.js

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
        })
    })
})