在 Cloud Code 中更新用户未反映在本地
Updating user in Cloud Code isn't reflecting locally
我正在从云代码更新我的用户对象中的一个字段,例如
Parse.Cloud.define("update", function(req, res){
req.user.unset("var");
req.user.save(null, {
useMasterKey: true,
}).then(function(user){
res.success("Updated");
});
});
问题在于,虽然更新后的值反映在用户 table 的后端,但 Parse.User.current() 仍然引用更新前的值。我试过打电话
Parse.User.current().fetch()
但无济于事。我不太明白为什么会这样,因为我可以对其他对象执行此操作并且它会按预期工作。注销并重新登录确实可以解决问题,但这并不方便,也不利于用户使用。取消设置该值似乎可以使本地用户变量远离 "fetching",但是将该值设置为空字符串似乎可以使其正常工作,但我认为这不是一个好的做法,可能会导致意外结果。
本地调用 fetch 对我有效,但在云中调用无效。
我正在从云代码更新我的用户对象中的一个字段,例如
Parse.Cloud.define("update", function(req, res){
req.user.unset("var");
req.user.save(null, {
useMasterKey: true,
}).then(function(user){
res.success("Updated");
});
});
问题在于,虽然更新后的值反映在用户 table 的后端,但 Parse.User.current() 仍然引用更新前的值。我试过打电话
Parse.User.current().fetch()
但无济于事。我不太明白为什么会这样,因为我可以对其他对象执行此操作并且它会按预期工作。注销并重新登录确实可以解决问题,但这并不方便,也不利于用户使用。取消设置该值似乎可以使本地用户变量远离 "fetching",但是将该值设置为空字符串似乎可以使其正常工作,但我认为这不是一个好的做法,可能会导致意外结果。
本地调用 fetch 对我有效,但在云中调用无效。