следует.
_timeout = null
componentDidMount() {
this._timeout = setTimeout(() => {
this.setState({
spinnerType: spinnerTypes.text
})
this._timeout = null
console.log('6 seconds!')
}, 3000)
}
componentDidUpdate() {
console.log((Date.now() - this._timer) /1000)
if (!this.props.isLoading && this._timeout !== null) {
clearTimeout(this._timeout)
}
}
Вероятно, это происходит из-за того, что приложение загружает данные и чем-то занято.
Но как это можно исправить?
componentDidUpdate вызывается после 8 секунд, при этом console.log('6 seconds!') вообще не вызывается.
Кто-нибудь сталкивался с подобным?
setTimeout гарантирует только минимальную задержку. Таймаут в 2 секунды означает как 2, так и 4, так и 100500 секунд, но никак не 1.
Все тяжелые задачи должны быть асинхронными
Обсуждают сегодня