Я заметил странное поведение с React Native при запуске setTimeout внутри цикла for. Приведенный ниже код хорошо работает в браузере:
const myString = '111000111';
for(var x =0; x < myString.length; x++) {
if (myString[x] == '1') {
(function(index) {
setTimeout(()=>{
console.info('number ' + index);
}, index * 1000);
})(x)
}
}
Результат в браузере:
number 0
number 1
number 2
number 6
number 7
number 8
Но при запуске того же кода с React Native результат будет:
number 0
number 1
number 8
number 2
number 7
number 6



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Нет никакой гарантии, когда и в каком порядке будут запущены тайм-ауты, и разные реализации JS дадут разные результаты (например, если приложение RN занято чем-то другим, оно может сработать тайм-аут позже).
Если вам нужно, чтобы они располагались в определенном порядке, вам нужно изменить свою реализацию, использовать очередь или что-то в этом роде.