KnockoutJS,调用同步调用时显示加载div

KnockoutJS, display loading div when invoking synchronous call

我们有一个使用 CefSharp 和 knockoutJS 创建的 spa(单页应用程序)。它几乎没有定义订阅方法。我们通过 ajax 请求在手风琴控件中填充数据。因此,当我们在手风琴中单击一个字段时,observable 属性 被设置为一个值,该值依次调用一个订阅方法,并且在这个订阅方法中我们已经对 C# 方法进行了同步调用。在同步调用之前,我们已经使加载面板可见,但它并没有显示加载面板。是否可以在同步调用时显示加载面板?

当任何JavaScript代码在浏览器上同步执行时,UI在代码执行完成之前不会更新。因此,您的问题的答案是 'It is not possible'。这不是淘汰赛问题。

正如其他人评论的那样,您确定要使其成为同步调用吗?建议不要使用此方法,现已弃用:请参阅

使调用异步,并在必要时在执行期间禁用其他屏幕元素(例如,防止多次按下按钮)。