jsObservable method
Implementation
Stream jsObservable(String jsObsRefName) {
String ident = Random().nextInt(9999999).toString();
jsCall("window['$FLUTTER_SUBSCRIBE_METHOD_NAME']('$jsObsRefName','$ident')")
.then((res) {
var err = res.toString().indexOf('error');
if (err > 0) {
print("ERROR while calling JS ${jsObsRefName} ///// response=$err");
}
}).catchError((err) {
print(
"ERROR evaluating = $jsObsRefName ///// uncaught exception - ${err}");
});
// stream not emitting or if awaiting Future stuck if error in js - we'd need to async this method and return stream in then() fn above or close stream immediately on error
return jsMessageSubj.stream
.where((event) => event.streamId == ident)
.map((event) => event.value);
}