我刚刚将ember从1.11.1升级到1.13.2,并将ember-data升级到1.13.4
从那时起,我无法在已解决的承诺上设置属性:
var promise = store.filter('user', {filters: {"googleId":content.id}}, function() {
return promise;
}).then(function(response) {
var user = response.get('content.0');
console.log(user); //--> A user entity (Object { type: makeCtor/Class(), id: "38", store: Object, [...])
user.set('foo', "bar"); // CRASH HERE
}, function(){ [...] });
控制台发出的错误消息没有帮助,因为我在 .then()
编辑:上下文:我在一个名为的初始化程序中session.js
。我正在尝试实现Google身份验证。这段特定的代码是在从API检索Google信息之后。我正在尝试查看我的后端中是否存在具有这种google ID的用户,如果是这种情况(已解决问题),我想使用最新的google信息来更新该用户并将其保存到我的后端(因此.set()
)
使用调试器,我找到了另一种访问有效数据的方法:
var promise = store.filter('user', {filters: {"googleId":content.id}}, function() {
return promise;
}).then(function(response) {
var user = arguments[0];
console.log(user); //--> A user entity
user.set('foo', "bar"); // OK NOW
}, function(){ [...] });
我真的很惊讶,因为这些论点似乎来自任何地方。也许有一种更清洁的方法可以做到这一点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句