如何解决如何退订Dexie Hook
使用以下工作代码:
db.table(this.mytableName).hook('creating',function (primKey,obj,transaction) {
currentObj.countUnsync(); // Call function 1
currentObj.uploadUnsyncToDB(); // Call function 2
});
我需要停止监听钩子“正在创建”。
根据文档,这应该可以工作,但是对我来说不适合,因为我不知道要使用什么'yourListenerFunction'。
db.table(this.mytableName).hook('creating').unsubscribe(yourListenerFunction)
任何人都可以提供示例帮助。
解决方法
文档将yourListenerFunction称为函数,作为您作为hook('creating')的第二个参数传递的函数。您需要为该函数命名或在其某个位置存储对该函数的引用,以便取消订阅。
我刚才updated the docs关于这个问题,使文档更加清晰:
yourListenerFunction 引用您传递给Table.hook('creating')的同一函数实例。如果您需要退订,则无法像我们在主样本中那样内联该功能。而是在闭包或类属性中保留对它的引用。
function listenerFunction (primKey,obj,transaction) {
// Do your stuff...
}
// Subscribe:
db.[tableName].hook('creating',listenerFunction);
// Unsubscribe:
db.[tableName].hook('creating').unsubscribe(listenerFunction);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。