考虑下面的代码
func test() -> SignalProducer<String, Error> {
return SignalProducer<String, Error> { observer, _ in
...
}
}
test()
.on(value: { s in
print(s)
})
.retry(upTo: 2)
.start()
}
是否有一种内置方法可以重试 n 次,然后(如果所有尝试都失败)执行一些回调?
当然可以引入一个本地计数器并计算故障,.on(failed: _)
然后如果计数器等于 n+1 则执行某些操作,但是还有其他方法吗?