首页 > 解决方案 > 有附件时 Pouchdb 不同步

问题描述

当我使用带有附件的文档的远程 couchdb 初始化本地 pouchdb 时,我的同步失败。

以下是错误:

pouchdb:api http://10.0.0.0:3000/db +14ms getAttachment error TypeError: response.buffer is not a function
    at index-browser.es.js:7100
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:391)
    at Object.onInvoke (core.js:17289)
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:390)
    at Zone.push../node_modules/zone.js/dist/zone.js.Zone.run (zone.js:150)
    at zone.js:889
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:423)
    at Object.onInvokeTask (core.js:17280)
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:422)
    at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:195)
browser.js:133 pouchdb:api http://10.0.0.0:3000/db +2s id

我正在使用 pouchdb-find 来查询文档。

谢谢你的帮助

标签: pouchdb

解决方案


经过调查,我通过修改 pouchdb 库中 index-browser.es.js 文件的 index-browser.es.js 使同步工作。我已经更改了第 7100 行替换

if (typeof process !== 'undefined' && !process.browser) {
  return response.buffer();
}

经过

if (typeof process !== 'undefined' && !process.browser) {
  return response.blob();
} 

并评论第 7109 行

if (typeof process !== 'undefined' && !process.browser) {
    //blob.type = contentType;
}

这可能是一个肮脏的解决方法,但我想了解为什么会发生这种情况以及如何正确修复它。

谢谢


推荐阅读