如何检查是否存在 backone 回调?

How do I check for the existence of a backone callback?

假设我在我的 backbone 模型上安装了一个回调,如下所示:

model.on('some_event', () => {
    console.log('it happened.');
})

有没有办法检查是否安装了此回调?我的目标是避免两次安装回调。

您可以检查您的模型是否注册了以下事件:

if(model._events && model._events['some_event']) {
    // already registered
}

或者,如果您的目标只是防止多次注册回调,您可以在 on 调用之前调用 off

model.off('some_event').on('some_event', () => {
    console.log('it happened.');
});