The other existing question didn't work for me. (How to close a stream event?)
I set up a class to handle and switch streams. In the constructor, I define and initialize the stream this way:
function RequestStream() {
this.server = new StellarSdk.Server('https://horizon.stellar.org');
this.stream = this.server.transactions()
.cursor('now')
.stream({
onmessage: function (message) {
//console.log(message);
console.log("initial transactions stream");
tripManager.addTrip(new Trip(node2.position));
}
});
}
My instance variable stream should contain the function close to close the stream. Using a prototype, I have several functions to switch the stream. I want to close the current stream through the instance variable before creating a new one and setting it to the same instance variable.
RequestStream.prototype = {
constructor: RequestStream,
payments:function () {
this.stream.close();
this.stream = this.server.payments() // + rest of stream init
}
}
I receive "TypeError: this.stream.close is not a function" upon trying to close the stream. Printing out this.stream gives an object with no apparent useful info. Can provide more detail if needed.