Có thể viết một phần mềm trung gian thực thi sau khi phản hồi được gửi tới máy khách hay sau khi yêu cầu được xử lý và được gọi ngay trước khi gửi phản hồi cho máy khách?Express/connect middleware thực thi sau khi phản hồi được gửi đến máy khách
8
A
Trả lời
13
pauljz đã đưa ra phương pháp cơ bản nhưng để mở rộng trên rằng đây là một ví dụ về middleware
module.exports = function() {
return function(req, res, next) {
req.on("end", function() {
// some code to be executed after another middleware
// does some stuff
});
next(); // move onto next middleware
}
}
Trong ứng dụng chính của bạn
expressApp.use(require("./doneMiddleware"));
expressApp.use(express.logger());
expressApp.use(express.static.....
3
Xem liệu ràng buộc với req.on('end', function() {...});
có hiệu quả với bạn hay không.
+0
Nếu tôi hiểu đúng, sự kiện này sẽ kích hoạt khi khách hàng hoàn thành gửi yêu cầu/dữ liệu đến máy chủ. Nhưng những gì tôi muốn là, sau khi gọi response.render hoặc response.redirect vv, phần giữa sẽ được thực hiện. –
Các vấn đề liên quan
- 1. Phản hồi nào sẽ được gửi đến thiết bị sau khi tải trọng SCEP?
- 2. Máy khách Netty, cách nhận phản hồi từ yêu cầu được gửi tới máy chủ
- 3. Thay đổi đối tượng phản hồi từ OWIN Middleware
- 4. Sự kiện đã gửi của máy chủ - Phản hồi nhắm mục tiêu đến các khách hàng cụ thể
- 5. Loại bỏ các phản hồi 401 "Không được phép" theo sau là 200 phản hồi "Ok"
- 6. Cần thực hiện một chức năng sau khi trả lời phản hồi trong Flask
- 7. Gửi tham số đến Runtime.getRuntime(). Exec() Sau khi thực hiện
- 8. Cách gửi đúng thông báo HTTP đến máy khách
- 9. RegisterOnSubmitStatement sau khi xác thực phía máy khách
- 10. JavaScript: Gửi POST, chuyển hướng đến phản hồi
- 11. Gửi dữ liệu phản hồi socket.io tới máy khách từ máy chủ node.js ở định dạng gzip
- 12. Gửi tệp từ máy khách đến máy chủ bằng XMLRPC?
- 13. Caching phản hồi của máy chủ ASP.NET HTTP Handler và phía máy khách
- 14. HttpWebRequest/HttpResponse: Cách gửi dữ liệu trong phản hồi?
- 15. Gửi yêu cầu POST mà không cần chờ phản hồi?
- 16. Có thể chấp nhận máy chủ gửi phản hồi HTTP trước khi nhận được toàn bộ yêu cầu không?
- 17. UICollectionView phản hồi khi đang được cuộn?
- 18. Phản hồi HTTP 500 với Thân máy?
- 19. Thực thi hàm javascript được trả về từ phản hồi AJAX (PHP)
- 20. Netty - Cách nhận phản hồi của máy chủ trong máy khách
- 21. Cách thu thập phản hồi của khách hàng?
- 22. Máy chủ 415 Mã phản hồi
- 23. Máy chủ proxy nhận được phản hồi không hợp lệ từ máy chủ ngược dòng
- 24. "Connection: Keep-Alive" trong phản hồi của máy chủ
- 25. SignalR: Cách phản hồi thông tin khách hàng sau khi tái sử dụng hồ bơi ứng dụng
- 26. jQuery nhận phản hồi từ tệp php sau khi đăng
- 27. Cách xử lý nhiều lần gửi trước khi phản hồi được hiển thị?
- 28. Nút Android không phản hồi sau khi hoạt ảnh
- 29. Xác thực người dùng G + ở phía máy chủ, sau khi đăng nhập phía máy khách
- 30. AutoMapper: Tại sao UseValue chỉ được thực thi sau khi
Nếu tôi hiểu chính xác, sự kiện này sẽ kích hoạt khi khách hàng hoàn tất việc gửi yêu cầu/dữ liệu đến máy chủ. Nhưng những gì tôi muốn là, sau khi gọi response.render hoặc response.redirect vv, phần giữa sẽ được thực hiện. –
Không, sự kiện này được phát ra sau khi toàn bộ yêu cầu được thực hiện, bao gồm gửi phản hồi. Miễn là render/redirect call response.end yêu cầu liên quan sẽ phát ra kết thúc. –
@SelvarajMA Cách tiếp cận sau có thể tốt hơn: http://stackoverflow.com/a/21858212/673014. – pronskiy