Câu hỏi này đã được hỏi here. Tuy nhiên, vì ngữ cảnh ứng dụng của người hỏi có liên quan quá nhiều trong câu hỏi, tôi không thể hiểu được những điều cơ bản. Ví dụ: có thông số queryArr
. Nó làm gì?Cách thực hiện cuộc gọi http đồng bộ ở góc 2
Dù sao, tôi cần một chút hướng dẫn về cách thực hiện cuộc gọi http đồng bộ một cách đơn giản nhất. Giải pháp tôi đưa ra là người ta phải đăng ký các quan sát theo thứ tự "lồng nhau". Ví dụ: có các quan sát ox
và oy
. Dữ liệu của các yêu cầu được gọi oy
là phụ thuộc vào dữ liệu đến từ ox
:
xData: string = "";
yData: string = "";
ox.subscribe(
data => {xData = data;},
error => console.log(error),
() => {
oy.subscribe(
data => {yData = xData*data;},
error => console.log(error),
() => console.log("aaa")
);
}
);
Thời gian qua tôi nhớ (tôi không làm javascript nhiều, và là một chút newbie), trong phạm vi nơi tôi đăng ký đến oy
, không thể xem được xData
hoặc yData
nữa. Hãy sửa tôi và chỉ cho tôi đúng hướng nếu tôi sai.
Có giải pháp "tốt" nào hay cách tốt hơn để thực hiện việc này không?
này dường như làm cho nhiều xích http yêu cầu, nhưng câu hỏi là đơn giản như thế nào để thực hiện một yêu cầu http đồng bộ, mà tôi không thấy làm thế nào câu trả lời này. – Neutrino
Yêu cầu http sẽ không bao giờ đồng bộ, bạn sẽ cần phải có thiết kế phần mềm phù hợp (Có thể quan sát được) và nên xem [Observable.forkJoin] đã đề cập (https://www.learnrxjs.io/operators/combination/forkjoin .html) để thực hiện song song các cuộc gọi http và nhận đăng ký khi tất cả đã hoàn tất. – Markus