Javascript 在协作地图中跟踪事件源

Javascript 在协作地图中跟踪事件源,javascript,google-drive-api,google-drive-realtime-api,Javascript,Google Drive Api,Google Drive Realtime Api,我有一个协作地图,以协作地图为价值观。当一个事件发生在值映射上时,我想知道该事件属于(外部映射的)哪个键。谁能提出一个干净的方法来实现这一点 CMap(key,cmapb(k,string)),在cmapb字符串上发生了ChangeEvent,我想知道CMap的key。k仅对单个密钥是唯一的(所以跟踪k然后查找包含k的密钥不是一个选项) 编辑: 在将记录(cmapb)添加到CMAP之前,我以这种方式附加EventListener: 如果我可以在updateJSON上传递记录的id,那么我就可以

我有一个协作地图,以协作地图为价值观。当一个事件发生在值映射上时,我想知道该事件属于(外部映射的)哪个键。谁能提出一个干净的方法来实现这一点

CMap(key,cmapb(k,string)),在cmapb字符串上发生了ChangeEvent,我想知道CMap的key。k仅对单个密钥是唯一的(所以跟踪k然后查找包含k的密钥不是一个选项)

编辑:

在将记录(cmapb)添加到CMAP之前,我以这种方式附加EventListener:

如果我可以在updateJSON上传递记录的id,那么我就可以进行迭代 通过CMAP查找哪个值具有该id。虽然我不知道 如何传递id以及ChangeEvent


我不确定你到底想在这里做什么。你真的在给这些地图添加任意元素吗?否则,您可能会考虑使用自定义对象,其中可以有一个字段用于键,其他字段用于存储的其他对象。(见附件)


如果您真的只想访问函数中的值,那么可以使用标准javascript(例如闭包)或函数来实现这一点。

我不确定您到底想在这里建模什么。你真的在给这些地图添加任意元素吗?否则,您可能会考虑使用自定义对象,其中可以有一个字段用于键,其他字段用于存储的其他对象。(见附件)


如果您真的只想访问函数中的值,可以使用标准javascript(例如闭包)或函数来实现。

刚才我想我可以在k上添加Key的名称,然后从event.property中提取它。我非常专注于得到一个不同的解决方案,却看不到这个简单的解决方案。不管怎样,我会考虑你的建议。刚才我想我可以在k上添加Key的名称,然后从event.property中提取它。我非常专注于得到一个不同的解决方案,却看不到这个简单的解决方案。不管怎样,我会研究你的建议。
records.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED, updateJSON);