1

我在 javascript 应用程序中使用 Google Drive 的 Realtime API 来协作处理一系列鼠标点。在计时器上,我将鼠标点的完整列表设置为CollaborativeMap中的值。随着鼠标的移动,点列表不断增加,set 调用将更多数据推送到地图中。

在 1 分钟内进行了 25 次集合调用后,我为每次调用分配了大量数据(大约 325000 个字符)。

在此过程中,我在控制台中看到以下内容:

Resource interpreted as Image but transferred with MIME type text/plain:
"https://drive.google.com/otservice/bind?id=...&sid=...&VER=8
 &access_token=...&lsq=...&SID=...
 &RID=513&TYPE=terminate&zx=...". api:87

Gfapi:87
fgapi:111
yhapi:145
uh.Yapi:143
Gc.handleEventapi:28
Edapi:47
Papi:44
Weapi:82
lf.Eaapi:81

看到这个之后,实时 api 不再起作用。这似乎不是 api 抛出的异常或返回给错误处理程序的错误。

我无法找到解释这意味着什么或如何处理它的文档。

正如 Mayra 指出的那样,您可以将错误函数传递给 load 调用,我已经这样做了——正如Google 作为Quickstart 文档rtclient.RealtimeLoader.prototype.load的一部分提供的示例代码中所做的那样。我的错误函数因某些错误而被调用;但是,对于这个问题所涉及的错误情况,并不要求这样做。 realtime-client-utils.js

有人可以解释如何解释控制台输出以及我的应用程序如何检测并处理问题吗?

PS 我知道我可以减少我发送的数据量;但是,我想开发一个可以处理可能发生的错误情况的解决方案。

4

1 回答 1

1

要处理错误,您可以在加载调用中添加错误函数:https ://developers.google.com/drive/realtime/reference/gapi.drive.realtime#gapi.drive.realtime.load

当实时 API 遇到错误时,应该调用它。然后您可以采取适当的措施,这可能只是重新加载文档。

如您所料,为防止出现此问题,您应该减少一次更改中发送的数据量。尝试将每个单独的更改保持在 100k 左右。

于 2013-04-26T16:39:59.650 回答