我正在尝试将“this”传递给回调函数。我知道这样做的“合适”方法是将其设置为一个变量并使用该变量……但这不是很优雅。
var that = this;
chrome.storage.sync.set(this.defaultOptions, function () {
that.loadOptions();
});
我正在尝试其他方法,但我不知道该怎么做。这是我尝试过的:
chrome.storage.sync.set(this.defaultOptions, (function () {
this.loadOptions();
}).call(this));
但是没有成功。我收到此错误:
Error in response to storage.set: Error: Invocation of form
get(object, undefined) doesn't match definition
get(optional string or array or object keys, function callback)
关于 SO 的其他问题,我已经尝试调查过,它们有类似的需求,但不完全相同。我怎样才能以最好的方式实现我想要的?
最佳答案
使用bind然后:
do_this((function() {
returh this.test + 5;
}.bind(this));
关于javascript - 将 'this' 范围传递给回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28300796/