Hãy nói rằng ai đó đã viết một phương pháp như thế này trong một tập tin gọi app.js
cố gắng để peform một yêu cầu XHR angainst một url phi hiện:
app.controller('MainCtrl', function($scope,$http) {
$scope.send = function() {
$http.get('http://run.plnkr.co/thisIs404');
};
});
tôi có thể thấy một lỗi liên quan đến URL http://run.plnkr.co/thisis404
trong giao diện điều khiển và mạng panel:
để gỡ lỗi này, tôi muốn tìm một cách nhanh chóng mà gọi XHR này đã được thực hiện trong nguồn (tức là tìm tập tin app.js
):
Vì vậy, tôi cho phép các công cụ dev chrome:
- async debug trong cuộc gọi stack
- debug bất kỳ XHR
Debugger thực sự dừng lại theo yêu cầu XHR, nhưng các cuộc gọi stack chỉ hiển thị các tham chiếu tới tệp angular.js "core": không có tham chiếu đếnapp.js
ở bất kỳ đâu được tìm thấy.
Tôi cố gắng này với crom 36 và chrome 35. Chỉ giải pháp: tìm kiếm cho URL sai trong các cơ sở mã toàn bộ (mà trong một số trường hợp có thể khó thực hiện).
- Chế độ gỡ lỗi không đồng bộ phải trỏ đến
app.js
ở đâu đó trong ngăn xếp? - Có cách nào để theo dõi dễ dàng tệp này
app.js
từ lỗi bảng điều khiển không?
Với yêu cầu XHR vani (tức là không góc cạnh), XHR debug gọi stack hiển thị cuộc gọi XHR trong app.js
(đó là dễ dàng hơn để gỡ rối trong trường hợp này):
Full ví dụ ở đây: http://plnkr.co/edit/lnCRpv?p=preview
[EDIT] Như tôi đã được hỏi: Angular.js không được rút gọn trong các thử nghiệm của tôi.
Vâng, câu trả lời này là đúng - điều này là bởi vì Bluebird không unhandled từ chối theo dõi và góc không - xem [** Câu hỏi này **] (http://stackoverflow.com/questions/23984471/how-do-i-use-bluebird-with-angular) về cách sử dụng bluebird với AngularJS. AngularJS hứa hẹn có dấu vết ngăn xếp rất xấu mà làm việc với họ trong các tình huống thế giới thực sự thực sự khó khăn. –
Chúng ta có thể sửa đổi chức năng http của góc để sử dụng bluebird, để nó có thể hoạt động mà không cần sửa đổi các dự án hiện có? Điều gì về những điều sau đây: http://plnkr.co/edit/1boCEqUjSLx8zGX2uqSo – David