使用节点7asynchronous/等待来限制控制器

让我们看看下面修改的Restify示例,它现在包含了节点7/8的asynchronous/等待支持。

我对这个正确执行到express / restify /等方面有轻微的担忧。 我担心的是,在事件循环中承诺的时间比所需的时间要长…我知道这不是一个承诺,但是我应该关心这个实现吗? 我还没有注意到任何问题。

'use strict'; const restify = require('restify'); const User = require('./models/User'); const server = restify.createServer({ name: 'myapp', version: '1.0.0' }); server.use(restify.acceptParser(server.acceptable)); server.use(restify.queryParser()); server.use(restify.bodyParser()); server.get('/echo/:name', async function (req, res, next) { try { const user = await User.findOne({ name: req.params.name; }); res.send(user.get({plain: true})); } catch (error) { console.error(error); res.send(500); } return next(); }); server.listen(8080, function () { console.log('%s listening at %s', server.name, server.url); });