ノード7/8の非同期/待機のサポートを含む以下の修正Restifyの例を見てみましょう。ノード7非同期/ Awaitでコントローラを復元する
私はExpress/Restify/etcにこれを適切に実装することに多少の懸念があります。私の懸念事項は、予定よりも長い間イベントループにぶら下がっている約束事です...私はこれがまさに約束ではないことを知っていますが、この実装について心配すべきですか?私はまだ何か問題に気づいていない。
'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);
});