在我的项目中,我面临一个挑战。即..我需要一个一个地调用多个API调用。在这里,我为此使用RxJS view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// View has laid out
// Remove the layout observer if you don't need it anymore
view.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
});
运算符。它正在预期中。但我的附加要求是,我需要为每个API调用设置10秒的延迟。我已经使用了'throttle'运算符,但是它不起作用。我在下面附加了我的代码。谁能告诉我们我在代码中做错了什么。
flatMap
谢谢
答案 0 :(得分:6)
您可以使用concatMap
(而不是包装API调用的flatMap
)来进行一次又一次的调用,然后使用delay()
来强制您想要的5s延迟:>
.concatMap(progressPayload => this.apiCallsService.apiCall(url, progressPayload, 'post', false)
.pipe(
delay(5000)
)
})