если переход на другую страницу случился то тот запрос уже не ответит. Можно сделать доп метод который будет возвращать результат и дергать его раз в секунду например, ну или вебсокеты. Вообще обычно кидается в очередь и асинхронно обрабатывается например другим сервисом, потом в другую очередь ответы кидаются или пишется в базу результат. + впринципе долгий запрос может по таймауту клиента отвалиться, он выполнится, но результат потеряется