刚开始接触这方面的项目时,对ES规范理解不深,查了一些资料,感觉如果不改expressjs的代码,大概率是没法用到最新的async/await了,后续也就没有继续往这个方面想。
这两天突然想起这个问题,祭出Google,用关键字一查,居然找到了答案。
A dead simple ES6 generators and ES7 async/await support hack for ExpressJS。
https://github.com/MadRabbit/express-yields
const express = require('express');
const yields = require('express-yields');
const User = require('./models/user');
const app = express();
app.get('/users', function* (req, res) {
const users = yield User.findAll(); // <- some Promise
res.send(users);
});
// or with node 7 async/await
app.get('/users', async (req, res) => {
const users = await User.findAll(); // <- some Promise
res.send(users);
});
express-yields这个项目两三年前就出现了。