node.js - 想问下sequelize怎么同步查询啊?因为要查比较多的内容
天蓬老师
天蓬老师 2017-04-17 15:52:51
0
3
663
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(3)
大家讲道理
  • findeOne返回的是一个promise, 你上面的代码执行有用???

const [sysnotice, sysactivity] = await Promise.all([db.sys_news.findOne(),  db.sysactivity.findOne()]);
res.render("index", {
   sysnotice: sysnotice,
    sysactivity:sysactivity
});
  • 如果不用await,就用下面的code

Promise.all([db.sys_news.findOne(),  db.sysactivity.findOne()]).then(result => {
    const [sysnotice, sysactivity] = result;
    res.render("index", {
      sysnotice: sysnotice,
      sysactivity:sysactivity
    });  
}).catch(error => console.error(error));
  • 如果数组很多的话,利用其它的方法返回一个数据,不要一个一个手动的array里面

洪涛

可以用bluebird的map方法

迷茫

ES6

采用co模块

const co = require('co');

co(function *(){
    let sysnotice = yield db.sys_news.findOne();
    let sysactivity = yield db.sysactivity.findOne();
    res.render("index", {
        sysnotice: sysnotice,
        sysactivity:sysactivity
    });
})

ES5
采用bluebird模块

var Promise = require('bluebird');

Promise.all([db.sys_news.findOne(),  db.sysactivity.findOne()]).then(function(results){
    res.render("index", {
        sysnotice: results[0],
        sysactivity:results[1]
    });
})
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal