Tôi rất tiếc nếu các chủ đề lời hứa khác đã trả lời câu hỏi này nhưng khi xem một số câu hỏi, tôi không nhận được câu trả lời để giải quyết vấn đề của mình. Tôi có ba tệp json mà tôi muốn lấy, phân tích cú pháp và hợp nhất thủ công. Vấn đề là tôi đang bị mắc kẹt trong tù hứa. Hãy để tôi chỉ cho bạn một số mã từ bộ điều khiển góc cạnh của tôi.Nhận dữ liệu từ lời hứa thay vì trả lại lời hứa
$scope.tests = [];
$scope.tests = $http.get('results/testResults.json').then(function(res) {
return res;
});
console.dir($scope.tests);
Từ console.dir Tôi nhận được lời hứa nhưng những gì tôi đã hy vọng là dữ liệu từ biến số res. Phải có cách nào đó để lấy dữ liệu đó ra. Không có cách nào để đưa dữ liệu đó ra khỏi lời hứa với một biến toàn cầu để các lời hứa khác của các hàm có thể sử dụng dữ liệu này? Cảm ơn
bạn không lấy dữ liệu ra khỏi cuộc gọi lại, bạn sử dụng dữ liệu trong gọi lại – dandavis
. Sau đó() lời hứa cuối cùng và bảng điều khiển của bạn có –
Đây là cách sai chính xác để sử dụng lời hứa. Lời hứa là không đồng bộ và bạn đang cố gắng sử dụng nó một cách đồng bộ. – greggreg