Угловой аналог C # Tasks - PullRequest
0 голосов
/ 09 ноября 2018

Привет из c # Я немного изо всех сил пытаюсь понять, что к чему, когда дело доходит до typescript.

Таким образом, Promise в Typescript будет эквивалентно C# Task, а в C# я разверну его, используя await, в последнем я получаю доступ к данным внутри контекста с помощью subscribe?

Какая связь между Promise и Observable. До сих пор я понимал, что класс Observable ведет себя так же, как класс System.Reactive, но откуда Promise входит в это уравнение?

Почему у меня есть метод расширения toPromise, определенный для Observable? Я пытаюсь провести параллель с C#, и вы не можете преобразовать IEnumerable/IObservable в Task.

Как это вообще имеет смысл? У меня есть поток. Почему бы я await это? Возможно, у этого потока нет конца. Я бы понял, если бы вы await элемент Observable, но почему весь?

1 Ответ

0 голосов
/ 09 ноября 2018

Promise и Observable одинаковы только в том, что оба они являются инструментами для моделирования async операций.

Их основное отличие состоит в том, что Observable работает с потоком событий, поэтому он имеет операторы, подобные массиву, тогда как, с другой стороны, Promise - это однократная остановка, когда дело доходит до async операций> один раз async операция завершается (или не выполняется), ваш Promise выполнен и больше не может использоваться.

...