computed должен вычислять производное значение без побочных эффектов, а watch предназначен для реакции, в том числе сетевого запроса.
Почему выполнять HTTP-запросы внутри computed — плохая практика, в отличие от watch? Как в watch организовать отмену или очистку таких эффектов?
computed должен вычислять производное значение без побочных эффектов, а watch предназначен для реакции, в том числе сетевого запроса.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
computed должен вычислять производное значение без побочных эффектов, а watch предназначен для реакции, в том числе сетевого запроса.
В watch создайте AbortController и зарегистрируйте отмену через onCleanup, доступный callback третьим аргументом. При новом значении предыдущая операция очищается; дополнительно можно проверять актуальность запроса перед записью результата. Async-getter computed не даёт надёжного управления такой жизнью запроса.