gpt4 book ai didi

javascript - js : trigger function after a bunch of events were called

转载 作者:行者123 更新时间:2023-12-03 12:37:22 24 4
gpt4 key购买 nike

我需要在几个事件结束时调用一个函数。假设我有 9 个点击监听器、10 个蓝色监听器、一些按键上/下监听器等。

解决方案是修改所有内容并添加函数调用。

但这……呃……蹩脚。

我是否可以一次性添加对所有事件(以及任何 future 定义的事件)的调用?

也许可以以某种方式延长事件?

最佳答案

误解了问题。我将这个答案留在这里作为引用,尽管它不会在所有事件上触发。

<小时/>

我会为此使用 promise 。即:使用 Q和一个事件计数器:

   var deferred = Q.defer();

...
var allEventsRequired = { ev1 : false, ev2: false };
function tryToResolvePromise() {
for(var k in allEventsRequired){
if( !allEventsRequired[k] ) return;
}
deferred.resolve();
}
...
function markEventAsFired(name) {
allEventsRequired[name] = true;
tryToResolvePromise();
}
...

deferred.promise.then(function() { ... this will trigger when all events got fired ... } );

从触发每个事件的位置调用 markEventAsFired( name ) 。如果您将来需要任何新事件,只需将其名称添加到 map allEventsRequired 中即可。不要忘记将它们初始化为 false。

关于javascript - js : trigger function after a bunch of events were called,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23678980/

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