Tôi muốn để có thể gọi một hàm bên trong phạm vi .Sau đó, và cho rằng tôi sử dụng this.foo() cách. Nhưng nếu tôi làm điều này bên trong số . Sau đó Tôi gặp lỗi, vì này dường như bị mất. Tôi có thể làm gì?javascript, những lời hứa, làm thế nào để truy cập vào biến này bên trong một phạm vi sau đó
Trong mã này, đây sẽ là tương đương để có đầu ra tương tự cho các đối tượng này
console.log(this)
one().then(function() {
console.log(this)
})
function one() {
var deferred = $q.defer();
deferred.resolve()
return deferred.promise;
}
này không có vẻ làm việc
console.log(this)
var a = this;
one().then(function(a) {
console.log(a)
})
Nếu bạn loại bỏ các 'a' luận từ 'một() sau đó (function (a) {' để nó 'một() sau đó (function() {.. ', sau đó sẽ cho bạn kết quả bạn muốn – Andy
Có, tôi đã thử nghiệm nó ngay khi tôi đã nhìn thấy câu trả lời của bạn. Bạn hoàn toàn đúng! Tôi sẽ đánh dấu nó như một câu trả lời nếu bạn đăng nó như là một câu trả lời – Gerard