powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / [Rx] Почему не "заканчивается" результат ForkJoin?
3 сообщений из 3, страница 1 из 1
[Rx] Почему не "заканчивается" результат ForkJoin?
    #37885046
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сильверлайт приложение, код под спойлером. Выражение в Finally никогда не вызывается. Почему?
Rx-codes :E
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
   public partial class MainPage
    {
        public MainPage()
        {
            InitializeComponent();

            var o = Observable.ForkJoin(
                Observable.Start(DoA),
                Observable.Start(DoB),
                Observable.Start(DoC)
            ).Finally(() => Out(string.Format("Done!")));
        }

        private void DoC()
        {
        }

        private void DoB()
        {
        }

        private void DoA()
        {
        }

        private void Out(string r)
        {
            text.Text += r;
        }
    }


text - текстблок.
ForkJoin доступен в Experimental release (Reactive Extensions v1.1)
Приведенный код это переделанный данный пример .
...
Рейтинг: 0 / 0
[Rx] Почему не "заканчивается" результат ForkJoin?
    #37885347
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmatic,

>Почему не "заканчивается" результат ForkJoin
Как он мог закончиться, если он и не начинался?

Так работает:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
        private void DoAll()
        {
            Observable.ForkJoin(
                Observable.Start(() => DoA()),
                Observable.Start(() => DoB()),
                Observable.Start(() => DoC())
            ).Finally(() => Debug.WriteLine("Done!")).First();
        }

        private void DoA() {
            Thread.Sleep(1000);
            Debug.WriteLine("A");
        }

        private void DoB() {
            Thread.Sleep(500);
            Debug.WriteLine("B");
        }

        private void DoC() {
            Thread.Sleep(750);
            Debug.WriteLine("C");
        }
...
Рейтинг: 0 / 0
[Rx] Почему не "заканчивается" результат ForkJoin?
    #37886113
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
First - блокирующий вызов. Замени на Subscribe
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / [Rx] Почему не "заканчивается" результат ForkJoin?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]