return this.showPasswordDialog()
.flatMap(password => doSomethingAndReturnPromise(..))
.subscribe(console.log);
我有一个密码对话框,它返回Observable
我可以订阅并从中获取密码。
该密码被传递给函数doSomethingAndReturnPromise
,该函数可以成功2)或失败但总是返回一个承诺。
如果失败,我想显示密码对话框并再次将其传递给promise函数...但最多3次。
如何以对话和retry(3)
链作为整体重试的方式使用RxJS doSomethingAndReturnPromise
运算符?
答案 0 :(得分:1)
您只需将retry(3)
放在flatMap
之后:
return this.showPasswordDialog()
.flatMap(password => doSomethingAndReturnPromise(..))
.retry(3)
.subscribe(console.log);