我在我的应用程序中不断收到此错误,但不知道是什么原因造成的。
每当我提交数据存储时都会发生这种情况:
尝试loadedData
在 rootState.loaded.updated.inFlight 状态下处理事件。未定义调用
任何人?
这是导致它的代码:
var ts_setting;
ts_setting = Cluey.Setting.find(Cluey.SettingsKeyIDs.API_TIMESTAMP);
if (ts_setting.get('value') != null) {
console.log("Found Timestamp");
} else {
console.log("Creating Initial Timestamp...");
ts_setting.set("id", Cluey.SettingsKeyIDs.API_TIMESTAMP);
ts_setting.set("value", 0);
Cluey.store.commit();
}
编辑
我已将其归结为导致错误的以下代码(用咖啡脚本编写)。问题是,我第一次运行代码时,当对象第一次不存在于数据存储中时,它运行良好。当我在已经包含具有指定 ID 的记录的数据存储上运行代码时,就会发生错误。这可能会帮助您破译正在发生的事情。
ts_setting = Cluey.Setting.find(Cluey.SettingsKeyIDs.API_TIMESTAMP)
ts_setting.get('value')
ts_setting.set("id", Cluey.SettingsKeyIDs.API_TIMESTAMP)
ts_setting.set("value", 0)
Cluey.store.commit()
编辑 2
我在创建记录时遇到了类似的问题:
ts_setting = Cluey.Setting.createRecord
id: Cluey.SettingsKeyIDs.API_TIMESTAMP,
value: 0
Cluey.store.commit()
上面的代码给了我这个错误:
Uncaught Error: Attempted to handle event `loadedData` on <Cluey.Setting:ember327:1> while in state rootState.loaded.created.inFlight. Called with undefined
编辑 3
所以事实证明,我是@timestamp = ts_setting.get('value')
在提交我认为导致问题的存储之后才调用的,因为我试图从尚未保存的对象中获取一些数据。