gpt4 book ai didi

ember.js - Ember 数据有重复记录

转载 作者:行者123 更新时间:2023-12-02 14:06:54 25 4
gpt4 key购买 nike

在我的应用程序中,用户可以创建消息并发送。当用户发送消息时,将使用 createRecord 创建消息,如果成功,服务器会回复 201 Created。

此外,用户还可以通过 Websocket 获取其他用户的消息。当它收到消息时,我使用 pushPayload 将其推送到存储中。

var parsedData = JSON.parse(data);
this.store.pushPayload('message', parsedData);

问题是,当用户发送消息并保存它时,他们也会从 websocket 取回消息,即使两个对象具有相同的 id,存储最终也会出现重复的消息。

如何告诉商店,当我推送或保存与现有元素具有相同 id 的内容时,它应该覆盖它?

最佳答案

只需在添加之前检查模型是否已在商店中即可:

var parsedData = JSON.parse(data);
if(this.store.hasRecordForId ('typeOfYourRecord', parsedData.id)){
// logic you want to run when the model is already in the store
var existingItem = this.store.find('typeOfYourRecord', parsedData.id);
// perform updates using returned data here
} else {
this.store.pushPayload('message', parsedData);
}

关于ember.js - Ember 数据有重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28418176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com