在回调数组中查找特定函数

时间:2017-07-11 07:35:47

标签: javascript callback

对于某种事件处理,我正在收集数组中的回调以便稍后调用它们。
但是也应该可以再次删除特定的回调函数。
问题是当使用'.bind(this)'向数组添加回调时,不会添加原始函数,所以我在找到该数组中的函数时会遇到问题将其删除。

我创建了一个jsfiddle以使事情更清晰:https://jsfiddle.net/x7oanaLv/

我使用var index = callbacks.indexOf(aFunction);来获取要删除它的函数的索引。但是如果函数是用.bind(this)添加的,则indexOf函数将返回-1。

如果您使用第一个按钮向回调数组添加回调,则可以通过按“删除”按钮再次将其删除。第二个按钮将使用.bind(this)添加绑定回调。这不能再被删除了,因为我在数组中找不到这个函数。

如果要通过传递原始函数将其删除,如何在数组中找到绑定回调?

0 个答案:

没有答案