dir.by  
  Поиск  
Программирование, разработка, тестирование
RxJs (это реактивное программирование и в основном используется в Angular)
Что такое Observable в RxJs ?
  Посмотрели 3059 раз(а)    
 Что такое Observable в RxJs ?  
последнее обновление: 5 октября 2020
Observable это функция (а иногда называют thread).
Observable не имеет значений.
Observable не имеет состояний для значений.

Observable выполняется когда мы вызываем subscribe.

Observable может доставлять разные данные: сообщения, события, и многие другие. Неважно какие эти данные синхронные или асинхронные.

Observer
Observer это обработчик событий.
Observer автоматически подписывается на Observable когда мы вызываем subscribe.
Observable присылаюет события к Observer
Пример
  Html  
<script src="https://dir.by/example_lib/rxjs/rx.min.js"></script>

<script>

     // This function runs when subscribe() is called
     function myCode1(observer)
     {
          // synchronously deliver 1, 2, and 3, then complete
          observer.next(1);
          observer.next(2);
          observer.next(3);
          observer.complete();

          // unsubscribe function doesn't need to do anything in this
          // because values are delivered synchronously
          return {unsubscribe() {}};
     }

     // Create a new Observable that will deliver the above sequence
     const sequence = new Rx.Observable(myCode1);

     // execute the Observable and print the result of each notification
     sequence.subscribe({
          next(num) { alert(num); },
          complete() { alert('Finished sequence'); }
     });

     // As result we will see:
     // 1
     // 2
     // 3
     // 'Finished sequence'

</script>

Что такое observer.next?
https://www.djamware.com/post/5da31946ae418d042e1aef1d/angular-8-tutorial-observable-and-rxjs-examples
https://coryrylan.com/blog/angular-observable-data-services
https://habr.com/ru/post/444290/
https://habr.com/ru/post/336280/

Что такое Subject?
https://dev-gang.ru/article/rxjs-vvedenie-v-subject-v-reaktivnom-programmirovanii-qp4tshapir/

Создание запроса
var a = this.http.post('https://localhost:44370/api/values2', benutzerDto);
a.subscribe(
users => console.log("good"),
error => console.error(error)
);

Операторы и метод pipe()
https://www.webdraftt.com/tutorial/rxjs/operators-and-pipe

BehaviorSubject vs Observable?
https://stackoverflow.com/questions/39494058/behaviorsubject-vs-observable
  Html  
// --- Observable ---
let randomNumGenerator1 = Rx.Observable.create(observer => {
observer.next(Math.random());
});

let observer1 = randomNumGenerator1
.subscribe(num => console.log('observer 1: '+ num));

let observer2 = randomNumGenerator1
.subscribe(num => console.log('observer 2: '+ num));


// ------ BehaviorSubject/ Subject

let randomNumGenerator2 = new Rx.BehaviorSubject(0);
randomNumGenerator2.next(Math.random());

let observer1Subject = randomNumGenerator2
.subscribe(num=> console.log('observer subject 1: '+ num));

let observer2Subject = randomNumGenerator2
.subscribe(num=> console.log('observer subject 2: '+ num));
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.5.3/Rx.min.js"></script>
New topic:http://dir.by/developer/web_api/new_application
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

  Объявления  
  Объявления  
 
Что такое Observable в RxJs ?

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика