[英]Passing 'this' scope to callback function
我正在嘗試將“ 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)
我嘗試研究的其他問題也有類似的需求,但並不完全相同。 如何以最佳方式實現自己想要的?
然后使用bind :
do_this((function() {
returh this.test + 5;
}.bind(this));
使用bind ,如Bhojendra Nepal所述。
function callback() {
return this.test + 5;
}
do_this(callback.bind(this));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.