【发布时间】:2019-11-24 23:21:36
【问题描述】:
我的索引的每个命中都有一个名为 like 的属性。每当我点击赞按钮时,我都必须等待很长时间,直到一切就绪。有什么方法可以加快这个过程吗?
我已经尝试过等待三个步骤。首先,我将使用 getObject 获取对象。其次,我会做 partialUpdate 来更新 likes attr。最后,我将使用 waitTask 等待,直到一切都安定下来。
router.patch("/likes/:id", auth.required, async (req, res) => {
const increment = req.body.liked ? -1 : 1;
try {
const content = await index.getObject(req.params.id, ["likes"]);
//Because the aync feature of algolia
//We have to waittask for its update to keep consistency
await index.partialUpdateObject(
{
likes: content.likes + increment,
objectID: req.params.id
},
(err, { taskID } = {}) => {
index.waitTask(taskID, err => {
if (!err) {
return res.json({ message: "updated" });
}
});
}
);
} catch (error) {
return res.json({ message: error.message });
}
});
我想加快这个过程。任何帮助将不胜感激。
【问题讨论】:
标签: reactjs backend algolia instantsearch.js