Javascript PockDB对远程Couchdb的更改因ETIMEDOUT(中间的代理)而失败 我有一个使用PouChDAPI API与一个远程CouCHDB通信的angurjs Web应用程序,中间有一个NoDE.js代理(Express HTTP代理),介于它们之间。
当我尝试通过同名方法获取文档更改时,请求在一段时间(约30秒)后失败,出现ETIMEDOUT错误,如下所示: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({
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()
也用于另一个请求,但用于以前的更改,因为它不是活动的,所以一切都很顺利
我希望它能无限期地保持活跃,但心跳似乎不能正常工作;是否缺少我应该设置的配置或参数?欢迎使用堆栈溢出。在以后的问题中,请从您的控制台粘贴错误文本,以便其他人可以搜索。您已经修复了此问题吗?我现在也有同样的问题