【问题标题】:Handling DocumentClosedError for Google Drive Realtime JS app处理 Google Drive Realtime JS 应用程序的 DocumentClosedError
【发布时间】:2014-09-15 18:54:15
【问题描述】:

Google Drive Realtime API 有一组不错的错误类型可供您监听,因此您可以单独处理每种情况:

https://developers.google.com/drive/realtime/reference/gapi.drive.realtime.ErrorType

很遗憾,此列表不包含 DocumentClosed 错误。出于某种原因,该错误是它自己在 API 中的对象。

https://developers.google.com/drive/realtime/reference/gapi.drive.realtime.DocumentClosedError

对于我的一生,我无法弄清楚如何处理这个错误。我在 realtime.load 上设置了一个 onError 侦听器函数,但它只捕获与 DocumentClosedError 不同的错误。

有没有办法处理/监听这种特殊类型的错误?我也尝试过 document.addEventListener 但这是一次绝望的尝试,没有奏效

【问题讨论】:

    标签: google-drive-realtime-api google-drive-api


    【解决方案1】:

    对于其他对此感到疑惑的人,它与 angular 和 google drive 之间的绑定有关。

    该文档已为 google 关闭,但角度绑定仍然存在。

    我们通过截取基于此的角度误差来处理这个问题。 http://odetocode.com/blogs/scott/archive/2014/04/21/better-error-handling-in-angularjs.aspx

    【讨论】:

      【解决方案2】:

      DocumentClosedError 是一种不同类型的错误,因为它仅在您访问无效文档时引发。实时文档无效的唯一情况是:1)在 ErrorType 中定义的致命错误之一由您的错误函数处理之后,或 2)在您自己对文档调用 .close() 之后。

      跟踪您是否在客户端上遇到这两个条件之一并确保您事后不访问文档是如何防止错误触发的。理想情况下,如果您进入文档已关闭的状态,应用程序应拆除其对实时模型的引用并重新连接以减少您将引发异常的位置。

      TL;DR:如果遇到 DocumentClosedErrors,则应更改处理 ErrorType 中定义的致命错误的方式。

      【讨论】:

        猜你喜欢
        • 2014-07-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-29
        • 1970-01-01
        相关资源
        最近更新 更多