отсрочка уничтожена - PullRequest
0 голосов
/ 08 июня 2018

В моем компоненте у меня есть mounted ловушка, которая выбирает некоторые данные в виде асинхронного запроса:

mounted() {
  this.fetchData()
}

и при beforeDestroy я удаляю данные из хранилища:

beforeDestroy(){
  this.destroyDataInStore()
}

Они прекрасно работают, пока запрос в mounted разрешается до того, как компонент начинает его разрушать.

Можно ли как-нибудь отложить beforeDestroy до после , обещание разрешено в горе?

1 Ответ

0 голосов
/ 08 июня 2018

Вы можете хранить обещание:

export default {
    data () {
        return {
            thePromise: null
        }
    },
    mounted () {
        this.thePromise = this.fetchData()
    },
    beforeDestroy () {
        this.thePromise.then(() => {
            this.destroyDataInStore()
        })
    }
}

Но чтобы быть уверенным, что все работает нормально, я бы использовал created крюк вместо mounted один:

export default {
    data () {
        return {
            thePromise: null
        }
    },
    created () {
        this.thePromise = this.fetchData()
    },
    beforeDestroy () {
        this.thePromise.then(() => {
            this.destroyDataInStore()
        })
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...