var source = get('url').retryWhen(
attempts =>
attempts
.zip(Observable.range(1, 3), (_, i) => i)
.flatMap(i => {
console.log('delay retry by ' + i + ' second(s)');
return Rx.Observable.timer(i * 1000);
});
);
Источник: https://www.learnrxjs.io/operators/creation/range.html
Итак: retryWhen принимает функцию, которая принимает ошибки и возвращает наблюдаемую информацию, представляющую время повторной попытки.
zip принимает n наблюдаемых и чередуетих, и flatmap - это монадическая привязка, превращающая наблюдаемое в новое наблюдаемое.Мой вопрос: почему zip принимает в качестве второго аргумента функцию стрелки, а не наблюдаемую в этом случае?И откуда исходит синтаксис подчеркивания?Я предполагаю, что это означает «игнорировать значение первого аргумента», но откуда он?Это передается в качестве аргумента zip
, так что я могу только предположить, что это как-то наблюдаемое?