gpt4 book ai didi

javascript - 如果我为同一事件设置 "listenToOnce"多次触发会发生什么

转载 作者:行者123 更新时间:2023-11-30 10:06:26 25 4
gpt4 key购买 nike

使用 Backbone 时,如果我在一个 View 中多次设置同一个监听器(使用 listenToOnce),它会为同一个事件创建多个一次性监听器,还是只覆盖一个?

eventThatMightHappenMultipleTimes: function () {
this.listenToOnce(this, 'someEvent', this.someEventHandler);
},

...

foo: function () {
this.trigger('someEvent');
}

我想确保我不会留下任何无用的听众。

最佳答案

是的,它多次创建同一个监听器。您可以轻松地对其进行测试:

var SomeView = Backbone.View.extend({
initialize: function() {
this.listenToOnce(this, 'someEvent ', this.logEvent);
this.listenToOnce(this, 'someEvent ', this.logEvent);
this.listenToOnce(this, 'someEvent ', this.logEvent);
this.listenToOnce(this, 'someEvent ', this.logEvent);
},
logEvent: function() {
console.log("'someEvent' has been fired!");
}
});

var view = new SomeView();
view.trigger('someEvent');

这里是 a working demo on JS Bin .

关于javascript - 如果我为同一事件设置 "listenToOnce"多次触发会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28895555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com