【发布时间】:2015-06-05 09:27:00
【问题描述】:
我需要一种向回调方法添加额外参数的方法,该方法应具有某些服务的 API 文档给出的特定签名。
例如,回调应该有一个字符串类型的参数,但我想在参数中添加一个额外的 int。
我想到的唯一技巧就是像这样滥用“绑定”:
var callbackFunc = originalCallback.bind({extraParam: myInt}, theNeededString)
在回调中我可以得到这样的整数:this.extraParam
您还有其他提示或技巧吗?
【问题讨论】:
-
你打算如何处理回调函数中的额外参数?这似乎有点无意义,因为回调函数可以引用父上下文的任何变量。只需在创建回调的“父”函数中声明该额外参数。示例:var a = 10; var callback = function(str) {console.log(a);}; a = 20;打回来(); - 它将记录 20。
标签: javascript callback closures bind