Как я могу отслеживать позицию обратного вызова в массиве, чтобы я мог запустить следующий?
Мое требование заключается в том, что он должен поддерживать ES5.
Учитывая гипотетический массив обратных вызовов, мне нужно выяснить, по какому индексу он находится.Проблема заключается в том, что один и тот же обратный вызов может дублироваться.
Использование индексного номера неоптимально, так как обратные вызовы могут вызываться несколько раз с различной скоростью.
Я, в сущности, ищу способ следовать по пути независимо от того, когда вызывался обратный вызов и сколько раз.
Пример:
let callbacks = [CB1, CB2, CB3, CB1, CB3, CB2]
Если вызывается CB3
, я ожидаю, что он будет повторяться до следующего в списке, а не назад (т.е.по пути вставки).
Пример:
CB3 -> CB1 -> CB3 -> CB2
Следует отметить, что CB3
ТОЛЬКО вплата за вызов CB1
, а CB1
отвечает за вызов, он следующий в списке.
Лучший пример:
CB3 -> CB1
CB1 -> CB3 (2)
CB3 (2) -> CB2
Если CB3
является вторым в списке, он не должен следовать тому же пути, что и первый CB3
в списке.
Пример:
CB3 (2) -> CB2
Другой джентльмен заметил, что это напоминает ему промежуточное программное обеспечение Express, и я сказал, что оно действительно очень похоже.