Có một số chức năng, thats làm việc gì đó lâu dài và cung cấp gọi lại.Làm cách nào để chuyển ngữ cảnh sang chức năng ẩn danh?
someFunc: function(argument, callback, context) {
// do something long
// call callback function
callback(context);
}
Trong ứng dụng Tôi sử dụng chức năng này
someFunc('bla-bla', function (context) {
// do something with this scope
context.anotherFunc();
}, this);
Làm thế nào để thực hiện chức năng gọi lại mà không đi context
tham số?
Cần một số như thế này:
someFunc('bla-bla', function() {
// do something with this scope
this.anotherFunc();
}, this);
Vì vậy, trong ví dụ cuối cùng của bạn có vẻ như bạn đang chuyển ngữ cảnh (đến ít nhất) bạn chỉ tò mò về cách tham chiếu đối số nếu nó không được đặt tên? –
Bạn đang chuyển tham số, bạn không sử dụng nó. Và tôi không hiểu tại sao. – bfavaretto
@bfavaretto: OP đang sử dụng nó bằng cách chuyển nó vào hàm gọi lại để gọi lại có thể tận dụng các phương thức của giá trị 'này' bên ngoài. Vì vậy, câu hỏi là làm thế nào để đạt được khối mã cuối cùng ... nhận được 'điều này' thích hợp trong cuộc gọi lại vì vậy nó không cần phải được chuyển như một đối số. –