Bellow is an example on code I am using to submit data to a server and the return I receive and save
this.apollo.mutate( { mutation: XXXXXXXX, variables: { instance_string: X,
accesstoken: X } })
.subscribe({
next: (data: any ) => {
console.log("data returned from Server", data);
// This data can be sent from the Server in a loop on occassion
this.SaveData(data);
},
error: (err) => {
this.presentToastFail(err);
}
});
On occasion the Server returns the data in a loop. I have no control of the Server and it appears this will be a reoccurring bug for quite a while. Is there a way that I can can insure the next: only runs once and ignores the Loop of data returns the Server can send.
It looks like you have to use two pipeable operators like take(), filter()
:
.pipe(
filter(resp => resp !== undefined && resp !== null),
take(1) // <--- It will only take one successful valid response
)
.subscribe(...)