Как проверить, размонтирован ли / уничтожен компонент?

#vue.js

#vue.js

Вопрос:

Вот простой сценарий. В моем компоненте пользователь отправляет запрос на сервер. У компонента есть обратный вызов, который выполняется при сбое запроса. Обратный вызов ошибки показывает пользователю сообщение об ошибке. Проблема здесь в том, что когда компонент размонтирован, пользователь по-прежнему получает сообщение об ошибке на своем экране (запрос занимает много времени, чтобы вернуть ошибку). В моем случае это нежелательное поведение. Итак, как мне проверить, размонтирован ли мой компонент, чтобы предотвратить отображение ошибки при обратном вызове?

Комментарии:

1. Можете ли вы отменить вызов в beforeDestroy? предполагая, что вы используете axios github.com/axios/axios#cancellation

2. @alt146, это один из способов сделать это. Но я мог бы так же легко добавить свойство виртуальной машины ‘isDestroyed’ и установить для него значение true в beforeDestroy и проверить его в моих обратных вызовах. Я не вижу никаких недостатков в этом по сравнению с вашим решением.