Как я могу завершить запрос в koa.js, используя другой запрос. Допустим, я поддерживаю активные контексты запросов в объекте. Предположим, что запрос A запущен и занимает много времени. Как я могу сделать другой запрос, который сообщает запросу A завершить.Koa.js abort running request
var requests = {};
// middleware to track requests
app.use(function*(next) {
var reqId = crypto.randomBytes(32).toString('hex');
requests[reqId] = {
context: this
}
yield next;
delete requests[reqId];
}
);
// route to kill request using ID generated from middleware above
router.get('/kill/:reqId', function *(next) {
var req = requests[this.params.reqId];
if (req) {
// abort request here
} else {
this.body = {
error: 'Request not found'
};
}
});
Вы должны ввести токен отмены, который вы регулярно проверяете. – Jeff