【问题标题】:CefSharp Javascript Callback never return resolved promiseCefSharp Javascript回调从不返回已解决的承诺
【发布时间】:2020-11-26 08:35:04
【问题描述】:

首先,对不起,我的英语很糟糕。我在 WinForms 应用程序中使用 CefSharp 在导航器和 .NET 代码之间进行通信。

我正在尝试使用 CefSharp 在异步回调函数中解决一个承诺,但在返回给 .Net 的响应中,我从未得到已解决承诺的响应,而是一个似乎代表所述承诺消费者的对象(最后,抓住,然后)。

有没有办法解决这个问题?

我留下一个例子,希望能帮助你理解问题。

//C#代码

public void TestCallback(IJavascriptCallback javascriptCallback)
{
    const int taskDelay = 1500;
    Task.Run(async () =>
    {
        await Task.Delay(taskDelay);
        using (javascriptCallback)
        {
            var result = await javascriptCallback.ExecuteAsync();
            //result is a JavaScriptResponse, but property "Result" is not "user" object, is a dictionary object with 'then', 'catch', 'finally' keys. 
        }
    });
}

//JS代码

function async MyCallback()
{
  // read our JSON
  let response = await fetch('/article/promise-chaining/user.json');
  let user = await response.json();
  return user;
}
boundAsync.testCallback(MyCallback);

非常感谢。

问候

博尔哈

【问题讨论】:

  • IJavascriptCallback 目前不支持解析承诺。 CEF 对 Promise 没有一流的支持。
  • 感谢您的回复。你能想出一个解决方法吗?
  • 一个选项是在 promise 被解决后调用一个方法。如果你有一个真实的例子会有所帮助,

标签: javascript .net winforms cefsharp chromium-embedded


【解决方案1】:
猜你喜欢
  • 2021-05-25
  • 1970-01-01
  • 2015-09-27
  • 2013-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多