问题描述
我正在使用 parse.js 和 Vue.js 构建 SPA,并且正在使用此类查询从我的数据库中提取内容。
let query = new parse.Query("MyData");
const results = await query.find();
这工作正常,但除非我更新页面,否则当数据库发生更改时,我的数据不会自动更新。我想这就是 livequeries
的用途吗?
我尝试订阅,但没有成功:
const MyClass = parse.Object.extend("MyData");
const query = new parse.Query(MyClass);
let subscription = await query.subscribe();
subscription.on("open",() => {
console.log("subscription opened");
});
我是否误解了 livequeries 的概念?或者我可以在数据库有更新时立即更新我的数据吗?
任何有关根据数据库中的更改在前端获取我的数据以更新的方法的帮助都将非常感谢!
解决方法
是的。你是对的。您现在需要收听订阅事件以获取更新:
subscription.on('create',(object) => {
console.log('object created');
});
subscription.on('update',(object) => {
console.log('object updated');
});
subscription.on('enter',(object) => {
console.log('object entered');
});
subscription.on('leave',(object) => {
console.log('object left');
});
subscription.on('leave',(object) => {
console.log('object left');
});
我在解释所有这些事件的同时录制了以下视频:https://www.youtube.com/watch?v=bz6p9uhxx2I&t=12s