Xin lỗi nếu tôi lặp lại câu hỏi đã được hỏi nhưng mọi thứ tôi đã thấy cho đến nay dường như không đệ quy với tôi, hoặc không ánh xạ với những gì chúng tôi đang làm, và chủ đề của lời hứa và trì hoãn dường như rất phức tạp đối với tôi.Làm thế nào để viết đúng một lời hứa jquery đệ quy
Tôi có "cây chủ đề" được xây dựng không đồng bộ khi người dùng mở rộng các nút. Chủ đề này được xây dựng bằng cách sử dụng một điểm cuối API trả về con của một nút bấm vào nút (+) trên nút cây chủ đề.
Khi người dùng nhấp vào nút Tôi cố gắng một cách đệ quy nạp các yếu tố cây chủ đề sử dụng một phương pháp mà trông như thế này:
function getAssociatedTopics(){
$.get('/topics/curriculum-associations', {guids: [...]})
.then(function(data){
//Process the topic information here
var topicId = /* some processing */;
//Get ancestors of each topic returned
$.get('/topics/getAncestors', {of: topicId})
.then(function(data){
//Process the topic information here
var topicId = /* some processing */;
//Get ancestors of each topic returned
//Rinse repeat as long as we find children of each topic found
});
}).then(function(){
//Expand the nodes
//Select the nodes
});
}
Vì vậy, đây là những gì nó sẽ giống như thế nhưng tôi tất cả mất đọc Các vấn đề lớn chúng ta đang gặp phải bây giờ với cấu trúc này là các nút của tôi tải tất cả theo cách đồng thời và sau đó xóa các nút đã chọn, mở và đóng các nút bất kỳ lúc nào và lựa chọn kết thúc lên siêu lộn xộn.
Tôi không muốn một lời giải thích sâu sắc về những lời hứa, cũng không phải tôi muốn một giải pháp đầy đủ, nhưng một ý tưởng chung làm thế nào để đạt được điều này.
Bạn muốn mở rộng cây con nút? Hay chỉ là những đứa trẻ đầu tiên? – MinusFour
Bạn nói "khi người dùng nhấp vào nút", nút này là nút (+) 'trên nút cây chủ đề hay một số nút khác? Bởi vì bạn * nói * bạn có "một điểm cuối API trả về con của một nút" nhưng bạn chưa cho thấy bất cứ điều gì rõ ràng làm điều đó (trừ khi đó là những gì '/ chủ đề/chương trình giảng dạy-hiệp hội' nào). –
Ngoài ra, mã nói * Nhận tổ tiên của mỗi chủ đề được trả về *, điều này khiến tôi tin rằng có một vòng lặp mà chúng ta không thấy. Một vòng lặp có thể xác định chính xác độ chính xác của câu trả lời ... –