我尝试将一些中间件从SharedPreferences
迁移到express
。这是hapi
中的事情:
express
使用const express = require('express')
const server = express()
server.use(function (req, res, next) {
const start = Date.now()
res.on('finish', () => {
console.log('Timestamp', Date.now() - start)
})
next()
})
//...
时,如果响应在同一个闭包内完成,我找不到通知的好方法,这样我就可以使用我在请求开始时设置的初始数据了。
我最接近的是:
hapi
但错误回复似乎将const Hapi = require('hapi')
const server = new Hapi.Server()
server.ext('onPreResponse', (request, reply) => {
const start = Date.now()
request.response.once('finish', () => {
console.log('Timestamp', Date.now() - start)
})
return reply.continue()
})
// ...
设置为request.response
,因此无法向其添加侦听器。
建议?
答案 0 :(得分:0)
server.ext('onPreResponse', function (request, reply) {
request.response.once('finish', function () {
});
reply.continue();
});
答案 1 :(得分:0)
您可以使用request.raw.req
的{{1}}事件:
end
答案 2 :(得分:0)
request.response.events.once('finish', () => console.log('DONE!!!'));