Size: a a a

Советский Angular

2019 December 24

Вキ

Вертихвост キバ in Советский Angular
источник

KA

Kulagin Alex in Советский Angular
ну да, это диграмма классов
источник

Вキ

Вертихвост キバ in Советский Angular
и вот этого более менее достаточно, чтобы понимать, что на этих картинках
источник

Вキ

Вертихвост キバ in Советский Angular
Мне в этом плане whimsical.com очень нравится, но draw.io за последний год очень сильно доработали, чтобы было удобнее кнопочки тыкать, поэтому снова на него пересел
источник

VC

Vladimir Chekushkin in Советский Angular
Может кто подсказать, как доработать функцию, что-бы в любой момент времени (только если активен таймер) - можно было передать параметр, который бы прекратил выполнение потока?
Если таймер не активен - игнорировать параметр.

startTimer(cancel?) {
       let countdown = 30;
       this.showTimer = true;
       this.activeTimer = true;
       this.timer$ = timer(0, 1000)
           .pipe(
               takeWhile(() => {

                   if (countdown === 0) {
                       this.showTimer = false;
                       this.activeTimer = false;
                   }

                   return countdown > 0;
               }),
               tap(() => countdown--),
               map(() => countdown)
           );
   }
источник

VC

Vladimir Chekushkin in Советский Angular
Шаблон:
<div class="timer" *ngIf="showTimer">Отправить код повторно можно через {{ timer$ | async }} сек.</div>
источник

m

mefest in Советский Angular
Kulagin Alex
и шторм повесился
о! можно сохраню?
источник

KA

Kulagin Alex in Советский Angular
зачем?=)
источник

m

mefest in Советский Angular
Kulagin Alex
зачем?=)
страшно
источник

Вキ

Вертихвост キバ in Советский Angular
Vladimir Chekushkin
Может кто подсказать, как доработать функцию, что-бы в любой момент времени (только если активен таймер) - можно было передать параметр, который бы прекратил выполнение потока?
Если таймер не активен - игнорировать параметр.

startTimer(cancel?) {
       let countdown = 30;
       this.showTimer = true;
       this.activeTimer = true;
       this.timer$ = timer(0, 1000)
           .pipe(
               takeWhile(() => {

                   if (countdown === 0) {
                       this.showTimer = false;
                       this.activeTimer = false;
                   }

                   return countdown > 0;
               }),
               tap(() => countdown--),
               map(() => countdown)
           );
   }
Если есть желание, то могу посоветовать пройти вот такие 4 упражнения:
https://stackblitz.com/edit/rxjs-forkjoin-exercise-001
источник

Вキ

Вертихвост キバ in Советский Angular
Kulagin Alex
зачем?=)
как думаешь, если выполнить все упражнения правильно, можно ли будет зарефакторить код выше?
источник

m

mefest in Советский Angular
Вертихвост キバ
как думаешь, если выполнить все упражнения правильно, можно ли будет зарефакторить код выше?
я думаю, что можно все!
источник

Вキ

Вертихвост キバ in Советский Angular
mefest
я думаю, что можно все!
источник

VC

Vladimir Chekushkin in Советский Angular
Вертихвост キバ
как думаешь, если выполнить все упражнения правильно, можно ли будет зарефакторить код выше?
🙈
источник

KA

Kulagin Alex in Советский Angular
Вертихвост キバ
как думаешь, если выполнить все упражнения правильно, можно ли будет зарефакторить код выше?
можно будет хотя бы избавиться от сайдэффектов внутри потока
источник

Вキ

Вертихвост キバ in Советский Angular
Kulagin Alex
можно будет хотя бы избавиться от сайдэффектов внутри потока
надо еще упражнений
источник

Вキ

Вертихвост キバ in Советский Angular
и добавить промежуточные
источник

АО

Алексей Охрименко in Советский Angular
Vladimir Chekushkin
Может кто подсказать, как доработать функцию, что-бы в любой момент времени (только если активен таймер) - можно было передать параметр, который бы прекратил выполнение потока?
Если таймер не активен - игнорировать параметр.

startTimer(cancel?) {
       let countdown = 30;
       this.showTimer = true;
       this.activeTimer = true;
       this.timer$ = timer(0, 1000)
           .pipe(
               takeWhile(() => {

                   if (countdown === 0) {
                       this.showTimer = false;
                       this.activeTimer = false;
                   }

                   return countdown > 0;
               }),
               tap(() => countdown--),
               map(() => countdown)
           );
   }
А можно рассказать более высокоуровнево чего хотите добиться - из кода не очень понятно.
источник

Вキ

Вертихвост キバ in Советский Angular
и назвать курс с нуля до эксперта RxJS
источник

VC

Vladimir Chekushkin in Советский Angular
👆🏻
источник