max-mapper / max-mapper/callback-hell
Callback binding
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- JavaScript
- Star
- 858
- Fork
- 101
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Maybe it would be useful to mention callback binding, I know that personally was confusing for me in the beginning. For instance, you might expect this to work:
Something.prototype.foo = function (cb) {
someOtherObj.bar(function (err, res) {
cb(null, this.value)
})
}
But actually it will not work since the innermost callback is called from the context of someOtherObj, and this doesn't resolve to the Something instance (so this.value end up being something else).
The solutions are foo(function () { this.value... }.bind(this)), var self = this; foo(function () { self.value... }), or maybe ES6 arrow functions (since they take their context from wherever they were created), () => { this.value... }.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Không có điểm bắt đầu nào của tệp, bài kiểm thử hoặc tài liệu được nêu tên; trước tiên hãy tìm phần đề cập đến các callback JavaScript và việc binding this. Thêm một ví dụ rõ ràng về ngữ cảnh gây nhầm lẫn và các phương án binding được đề xuất, sau đó kiểm tra rằng tài liệu được render chính xác.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- javascript
- Lĩnh vực
- documentation
- Loại issue
- Tài liệu
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100