如何序列化pouchdb更改处理?

时间:2019-07-28 16:37:00

标签: pouchdb

看来,在我完成对特定更改文档的处理之前,我的函数正在与另一个更改文档一起调用。

如何确保按顺序完成此操作?

1 个答案:

答案 0 :(得分:0)

对此,我的解决方案是建立一个队列数据结构。

更改处理程序仅创建一个包含以下内容的任务对象 更改的详细信息和适当的处理器功能,然后将其推送到队列的尾部。处理器功能总是通过检查队列头中是否还有另一个排队的任务对象来结束执行。

同样,变更处理程序检查队列的开头是否有任务对象,并将控制权传递给其处理器功能。

因此,所有更改将按顺序处理,并且所有更改将被处理,直到队列为空。

所有功能都是async,并且总是用await调用。