我有一个名为obj
的对象,该对象具有一个嵌套的对象comments
和一个函数startMatch
,该函数返回的对象如下:
var obj = {};
obj.comments = {
startMatch: function(matchStrings, isCaseSensitive) {
return {
subscribe: function(delegate) {
delegate('test')
const unsubscribe = () => {
console.log("unsubscribed");
};
}
};
}
};
var subscription = obj.comments.startMatch([], false).subscribe(function(result) {
console.log(result)
});
我希望以这种方式调用unsubscribe
函数:
subscription.unsubscribe();
但是我不知道如何解决这个问题,而不会收到未订阅的未定义错误。
答案 0 :(得分:1)
选择最简单的方法:
var obj = {};
obj.comments = {
startMatch: function(matchStrings, isCaseSensitive) {
return {
subscribe: function(delegate) {
delegate('test');
return { unsubscribe: () => console.log("unsubscribed") }
}
};
}
};
var subscription = obj.comments.startMatch([], false).subscribe(function(result) {
console.log(result)
});
subscription.unsubscribe();