我一直在尝试使用订阅在Parse服务器上创建实时查询,但似乎未触发某些事件。
我记录订阅收到的每个事件,并且我知道“打开”被触发。但是,当我更改应该影响查询结果的数据时,我没有收到任何其他事件。我在Sashido Parse服务器上的CanvasVersion和Sticky后端启用了实时查询类。
这是客户端代码:
const relation = this.canvasVersion.stickies;
const query = relation.query();
query.equalTo("segment", this.id);
this.segmentUpdatedSubscription = await query.subscribe();
this.segmentUpdatedSubscription.on('open', () => {
console.log('Subscription opened');
})
this.segmentUpdatedSubscription.on('error', (error) => {
console.log('error', error);
})
this.segmentUpdatedSubscription.on('create', (sticky) => {
console.log('Created: ' + sticky);
});
继续执行“更新”,“输入”,“删除”,“离开”和“关闭”,其中this.canvasVersion.stickies是canvasVersion和Sticky对象之间的关系。
解析服务器使用以下代码初始化:
static initialize() {
Parse.initialize(environment.parse.appId, environment.parse.appKey);
(Parse as any).serverURL = environment.parse.serverURL;
}
有人知道为什么不触发这些事件以及如何解决吗?预先感谢您的帮助。
答案 0 :(得分:0)
解析订阅(Parse LiveQuery)不支持关联订阅。
https://github.com/parse-community/parse-server/issues/5610#issuecomment-495277400
使用带条件的常规订阅方式。
private void Add1_Click(object sender, EventArgs e)
{
carrotSales++;
carrotEarnings = carrotEarnings + 1.50; //error is here
writeTotal1();
writeEarnings1();
}