在Web应用程序中,使用pouchDB,我有一个运行缓慢的功能,该功能通过更新数据库中的文档来完成。我想将其从主UI线程移到Web Worker中。但是,我们在主线程中仍然有很多其他使用pouchDB的代码(例如change
事件侦听器,以及处理其他文档的代码)。 (作为参考,数据库大小为100MB左右;使用Vue2,因此通常在数据更改时UI可以更新。)
这似乎是我立即解开的地方:
这似乎使我们有两个极端选择。从头开始重写整个应用程序,可能会删除Vue,或者只是在Web Worker中进行缓慢而复杂的计算,然后让它传回结果,然后继续在主UI线程中执行db.put()
。 >
这真的是全有还是全无?是否有任何PouchDB“技巧”允许与Web Worker一起使用,如果可以,我们是否需要实现锁定?
在Web应用程序中,使用pouchDB,我运行缓慢,该功能通过更新数据库中的文档来完成。我想将其从主UI线程移到Web Worker中。但是,我们有很多...
您缺少一个选项,我会根据您的情况选择。编写一个简单的适配器,使您的工作程序代码可以通过消息查询主线程中的数据库。获取您的数据,在工作进程中进行处理,然后发送回去。