废弃的@cloudant/cloudant被ibm-cloud/cloudant包取代。在以前的版本中,我使用了以下代码片段
const feed = dummyDB.follow({ include_docs: true, since: 'now'})
feed.on('change', function (change) {
console.log(change)
})
feed.on('error', function (err) {
console.log(err)
})
feed.filter = function (doc, req) {
if (doc._deleted || doc.clusterId === clusterID) {
return true
}
return false
}您是否可以分享一个代码,我可以在新的npm包ibm- feed.on /cloudant中获得类似于上面代码的云事件侦听器。
发布于 2021-08-11 15:50:41
目前,@ibm-cloud/cloudant包中的更改还没有事件发射器。您可以通过以下任一方式来模拟该行为:
轮询postChanges (在新结果之后更新since值)和处理响应result属性,该属性是一个ChangesResult。它又有一个results属性,该属性是ChangesResultItem元素的数组,每个元素都等同于事件处理函数的change参数。
或
使用continuous的提要类型调用postChangesAsStream,并处理在响应result属性中返回的stream,每一行都是一个遵循ChangesResultItem结构的JSON对象。在这种情况下,您可能还希望配置心跳和超时。
在这两种情况下,您都需要处理错误,以便在出现网络故障等情况下重新连接。
https://stackoverflow.com/questions/68705632
复制相似问题