RXJS同步网络呼叫

时间:2019-10-31 17:42:37

标签: node.js angular ionic-framework rxjs

我们的Io​​nic应用程序频繁调用特定的Web服务,并且当并行进行相同的调用时,服务器会引发错误。

我们要确保通话已同步。如何在RXJS中实现这一目标?

Observers(View1..n)=>Observable(User)=={apply control here?}==>NetworkCall(getUser())

1 个答案:

答案 0 :(得分:1)

使用concat Map进行顺序调用

concatMap():将每个源值投影到一个Observable中,并以串行化的方式将其合并到输出Observable中,并等待每个完成,然后再合并下一个

SendMsg(msgs: string[]) {

            msgs.map(msg=> this.SendMsgService.({setail: msg.description, userId: msguser}));
            from(msgCalls)  
                .pipe(
                    concatMap(res => res), 
                ).subscribe(() => { });
}