live exmapleКак использовать Observable каскадный AJAX несколько методов
Я бы ожидал, что это будет напечатано в следующем порядке:
- Включите экран загрузки перед отправкой Ajax результатов
- получить результаты AJAX и записи
- Закройте экран загрузки
следующий код может быть выполнена, и я хотел бы спросить, есть ли другие способы, чтобы написать
var openLoadingPage$ = Rx.Observable.create(function(observer) {
console.log("open...");
observer.complete();
});
var closeLoadingPage$ = Rx.Observable.create(function(observer) {
console.log("close..");
observer.complete();
});
var ajax$ = Rx.Observable.create(function(observer) {
//todo:get ajax result
observer.next("hello world");
observer.complete();
});
var result$ = Rx.Observable.of(
openLoadingPage$,
ajax$.delay(2000),
closeLoadingPage$)
.concatAll();
result$.subscribe({
next: (value) => {
console.log("get ajax result:", value);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.0.1/Rx.js"></script>
спасибо, это работает, но я хочу, чтобы получить окончательный приводят к реализации подписки, поэтому я должен переписать свой вопрос –