private async void Execute(IJavascriptObject[] e) { var argument = _JavascriptToCSharpConverter.GetFirstArgumentOrNull(e); var promise = (e.Length > 1) ? e[1] : null; try { var res = await _JSResultCommand.Execute(argument); await SetResult(promise, res); } catch (Exception exception) { SetError(promise, exception).DoNotWait(); } }
async void IExecutableGlue.Execute(IJavascriptObject[] e) { var argument = _JavascriptToCSharpConverter.GetFirstArgumentOrNull(e); var promise = (e.Length > 1) ? e[1] : null; try { var task = await UIDispatcher.EvaluateAsync(async() => { var res = await _JSResultCommand.Execute(argument); return((res == null) ? null :await _JavascriptToCSharpConverter.RegisterInSession(res)); }); var bridgevalue = await task; await SetResult(promise, bridgevalue); } catch (Exception exception) { SetError(promise, exception).DoNotWait(); } }
protected override async Task <Result <TResult> > ExecuteOnUiThread(TArg argument) { var value = await _JsResultCommand.Execute(argument); return(new Result <TResult>(value)); }
protected override Task <TResult> ExecuteOnUiThread(bool context) { return(_JsResultCommand.Execute()); }
private void Execute(IJavascriptObject[] e, IJSCBridgeCache mapper) { _JSResultCommand.Execute(GetArguments(mapper, e)) .ContinueWith(t => SetResult(e, mapper, t)); }
protected override async Task <MayBe <TResult> > ExecuteOnUiThread(bool context) { var res = await _JsResultCommand.Execute(); return(new MayBe <TResult>(res)); }
protected override Task <TResult> ExecuteOnUiThread(TArg argument) { return(_JsResultCommand.Execute(argument)); }