методы асинхронного класса перестали работать, почему? - PullRequest
0 голосов
/ 28 мая 2019

Для работы использовался следующий код (метод класса, объявленный как async):

    async reload() {
        const {
            resetState,
            getPhotos,
            uploadPendingPhotos,
        } = this.props
        await resetState()
        await getPhotos()
        await uploadPendingPhotos()
    }

После обновления до последней

"react-native": "0.59.8"

пришлось переписать его в следующую версию, чтобы он снова заработал:

    reload() {
        const {
            resetState,
            getPhotos,
            uploadPendingPhotos,
        } = this.props
        resetState().then(() => {
            getPhotos().then(() => {
                uploadPendingPhotos()
            })
        })
    }

В противном случае он будет жаловаться на невыполненное обещание и жаловаться на то, что метод resetState доступен только для чтения.

Есть идеи, что здесь происходит? У меня есть асинхронные методы в большинстве моих компонентов, и переписать их на обещания не представляется возможным решением. Я действительно хочу извлечь выгоду из async / await.

...