Ejemplo n.º 1
0
        private void SetResult(IJavascriptObject[] e, IJSCBridgeCache bridge, Task<object> resulttask)
        {
            _IWebView.RunAsync (() =>
                 {
                     if (e.Length < 2)
                         return;

                     IJavascriptObject promise = e[1];
                     if (!resulttask.IsFaulted)
                     {
                         bridge.RegisterInSession(resulttask.Result, (bridgevalue) =>
                         {
                             promise.InvokeAsync("fullfill", _IWebView, bridgevalue.GetJSSessionValue());
                         });
                     }
                     else
                     {
                         string error = (resulttask.IsCanceled) ? "Cancelled" :
                             ((resulttask.Exception == null) ? "Faulted" : resulttask.Exception.Flatten().InnerException.Message);

                         promise.InvokeAsync("reject", _IWebView, _IWebView.Factory.CreateString(error));
                     }

                 });
        }
        private void SetResult(JavascriptMethodEventArgs e, IJSCBridgeCache bridge, Task <object> resulttask)
        {
            WebCore.QueueWork(() =>
            {
                if (e.Arguments.Length < 2)
                {
                    return;
                }

                JSObject promise = e.Arguments[1];

                if (!resulttask.IsFaulted)
                {
                    bridge.RegisterInSession(resulttask.Result, (bridgevalue) =>
                    {
                        promise.Invoke("fullfill", bridgevalue.GetJSSessionValue());
                    });
                }
                else
                {
                    string error = (resulttask.IsCanceled) ? "Cancelled" :
                                   ((resulttask.Exception == null) ? "Faulted" : resulttask.Exception.Flatten().InnerException.Message);

                    promise.Invoke("reject", error);
                }
            });
        }
Ejemplo n.º 3
0
        private void SetResult(IJavascriptObject[] e, IJSCBridgeCache bridge, Task <object> resulttask)
        {
            _IWebView.RunAsync(() =>
            {
                if (e.Length < 2)
                {
                    return;
                }

                IJavascriptObject promise = e[1];
                if (!resulttask.IsFaulted)
                {
                    bridge.RegisterInSession(resulttask.Result, (bridgevalue) =>
                    {
                        promise.InvokeAsync("fullfill", _IWebView, bridgevalue.GetJSSessionValue());
                    });
                }
                else
                {
                    string error = (resulttask.IsCanceled) ? "Cancelled" :
                                   ((resulttask.Exception == null) ? "Faulted" : resulttask.Exception.Flatten().InnerException.Message);

                    promise.InvokeAsync("reject", _IWebView, _IWebView.Factory.CreateString(error));
                }
            });
        }
Ejemplo n.º 4
0
        private void SetResult(JavascriptMethodEventArgs e, IJSCBridgeCache bridge, Task<object> resulttask)
        {
            WebCore.QueueWork(()=>
                {
                    if ( e.Arguments.Length<2)
                        return;

                    JSObject promise =  e.Arguments[1];

                    if (!resulttask.IsFaulted)
                    {
                        bridge.RegisterInSession(resulttask.Result, (bridgevalue) =>
                        {
                            promise.Invoke("fullfill", bridgevalue.GetJSSessionValue());
                        });
                    }
                    else
                    {
                        string error = (resulttask.IsCanceled) ? "Cancelled" : 
                            ( (resulttask.Exception==null) ? "Faulted" : resulttask.Exception.Flatten().InnerException.Message);

                        promise.Invoke("reject", error);
                    }
                });
        }