欢迎选择我的课程,让我们一起见证您的进步~~
findeOne返回的是一个promise, 你上面的代码执行有用???
findeOne
const [sysnotice, sysactivity] = await Promise.all([db.sys_news.findOne(), db.sysactivity.findOne()]); res.render("index", { sysnotice: sysnotice, sysactivity:sysactivity });
如果不用await,就用下面的code
await
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模块
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模块
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] }); })
findeOne
返回的是一个promise, 你上面的代码执行有用???如果不用
await
,就用下面的code如果数组很多的话,利用其它的方法返回一个数据,不要一个一个手动的array里面
可以用bluebird的map方法
ES6
采用
co
模块ES5
采用
bluebird
模块