2

我正在使用 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");
  });

我是否误解了实时查询的概念?或者我可以在数据库更新后立即更新我的数据吗?

对于根据数据库中的更改在前端获取我的数据以更新的方法的任何帮助都将非常感激!

4

1 回答 1

2

是的。你说的对。您现在需要收听订阅事件以获取更新:

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

于 2021-02-17T23:55:31.523 回答