#time #react-native
#время #реагирующий собственный
Вопрос:
Я застрял, пытаясь заставить тайм-аут работать в моем проекте react-native, я использовал SO и нашел много ответов, объясняющих, что вы должны заставить его возвращать функцию, чтобы она выглядела так
setTimeout(function(){this.countLosses(counter, losses)},1000);
В соответствии с
setTimeout(this.countLosses(counter, losses),1000);
Однако, когда я запускаю первое, я получаю неопределенное значение, а не функцию, и когда я запускаю последнее, как и ожидалось, тайм-аут работает некорректно.
Функция, которую я пытаюсь вызвать, выглядит так
countLosses(counter:number, losses:array){
if (counter<5) {
this.clicked(losses.pop())
counter=counter 1;
setTimeout(function(){this.countLosses(counter, losses)},1000);
}else{
this.state = {
animateTime: false,
selected:[],
}
}
}
Комментарии:
1. попробуйте это:
setTimeout(() => {this.countLosses(counter, losses)},1000);
Ответ №1:
Хорошо, я наконец понял это
вы должны просто добавить bind, а затем это в скобках
итак
setTimeout(this.countLosses.bind(this,counter, losses),1000);