我想随着时间间隔的增加触发retrywhen(),
socketResponse.retryWhen(attempts => {
return attempts.zip(Observable.range(1, 4)).mergeMap(([error, i]) => {
console.log(`[socket] Wait ${i} seconds, then retry!`);
if (i === 4) {
console.log(`[socket] maxReconnectAttempts ${i} reached!`);
}
return Observable.timer(i * 1000);
});
});
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常。当前执行输出:
连接错误时(第一次)
连接成功
//成功连接。
连接错误时(第二次)
现在,我想重置套接字连接成功时的等待时间。
期望的输出:
连接错误时(第一次)
连接成功
//成功连接。
连接错误时(第二次)
[socket] 等待1秒钟,然后重试!//等待1秒
[socket] 等待2秒钟,然后重试!//等待2秒
但我不知道如何重设retrywhen()时间间隔。