У меня есть forEach, который вызывает функцию. Между каждым вызовом должна быть задержка. Я положил его внутри setTimeout внутри forEach. Это не соответствует таймауту после первого ожидания. Вместо этого он ждет один раз, а затем запускает все сразу. Я установил тайм-аут на 5 секунд, и я использую консоль для подтверждения. 5 секунд ожидания, затем несколько журналов консоли foobar все сразу.
Почему я получаю это поведение?
var index = 0;
json.objects.forEach(function(obj) {
setTimeout(function(){
console.log('foobar');
self.insertDesignJsonObject(obj, index);
}, 5000);
});