让expressjs项目直接支持 generator/yields 和async/await

刚开始接触这方面的项目时,对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这个项目两三年前就出现了。

posted @ 2019-03-15 08:43 x3d 阅读(...) 评论(...) 编辑 收藏