Javascript PockDB对远程Couchdb的更改因ETIMEDOUT(中间的代理)而失败 我有一个使用PouChDAPI API与一个远程CouCHDB通信的angurjs Web应用程序,中间有一个NoDE.js代理(Express HTTP代理),介于它们之间。

Javascript PockDB对远程Couchdb的更改因ETIMEDOUT(中间的代理)而失败 我有一个使用PouChDAPI API与一个远程CouCHDB通信的angurjs Web应用程序,中间有一个NoDE.js代理(Express HTTP代理),介于它们之间。,javascript,express,proxy,couchdb,pouchdb,Javascript,Express,Proxy,Couchdb,Pouchdb,当我尝试通过同名方法获取文档更改时,请求在一段时间(约30秒)后失败,出现ETIMEDOUT错误,如下所示: USER INFO error: Error: ETIMEDOUT user.service.js:190 at XMLHttpRequest.xhr.onreadystatechange (pouchdb.js:11051) at timeoutReq (pouchdb.js:10995) 在我的代码中,我使用以下参数调用.changes()方法: db.changes({

当我尝试通过同名方法获取文档更改时,请求在一段时间(约30秒)后失败,出现ETIMEDOUT错误,如下所示:

USER INFO error: Error: ETIMEDOUT  user.service.js:190
 at XMLHttpRequest.xhr.onreadystatechange (pouchdb.js:11051)
 at timeoutReq (pouchdb.js:10995)

在我的代码中,我使用以下参数调用.changes()方法:

db.changes({
    since: 'now',
    live: true,
    include_docs: true,
    doc_ids: [userDocId],
    heartbeat: 1000
  }).on('change', function(change) {
    console.log("USER INFO change:",change);
  }).on('complete', function(info) {
    console.warn("USER INFO complete:",info);
  }).on('error', function(err) {
    console.error("USER INFO error:",err);
  });
如果我还设置了timeout参数,则该方法在我设置的毫秒数之后失败

如果更改在时间内到达,则超时错误将再延迟约30秒。超时错误后,其他更改不再出现

我使用
.changes()
也用于另一个请求,但用于以前的更改,因为它不是活动的,所以一切都很顺利


我希望它能无限期地保持活跃,但心跳似乎不能正常工作;是否缺少我应该设置的配置或参数?

欢迎使用堆栈溢出。在以后的问题中,请从您的控制台粘贴错误文本,以便其他人可以搜索。您已经修复了此问题吗?我现在也有同样的问题