Проблемы с использованием внешних переменных в наблюдаемой последовательности - PullRequest
0 голосов
/ 16 октября 2018

Какие проблемы могут возникнуть при использовании переменных, которые являются внешними по отношению к наблюдаемой последовательности внутри последовательности?

Например:

updateCar(newCar: any): Observable<any> {
    return of(...).pipe(
        switchMap(
            (value: any) => {
                if (newCar.has4Wheels && value.lovePizza) {
                    // return a 4 wheel observable
                } else {
                    // return a not 4 wheel observable
                }
            }
        ),
        switchMap(
            (value: any) => {
                if (newCar.has4Windows && !value.lovePizza) {
                    // return a 4 window observable
                } else {
                    // return a 2 window observable
                }
            }
        )
    );
}

Я знаю, что приведенный выше пример странный, но япросто используя его, чтобы задать вопрос.

Какие проблемы могут возникнуть при использовании newCar внутри последовательности, как при использовании в примере, когда он является внешним по отношению к последовательности?Если проблем нет, отлично!Просто мне кажется, что с этим использованием что-то не так.

1 Ответ

0 голосов
/ 16 октября 2018

Я ничего не думаю (по крайней мере, если вы не изменяете newCar).

Это правда, что вы можете переписать это и начать, например, со следующего:

of([whatever, newCar])
  .pipe(
    switchMap(([whatever, newCar]) => {
      ...
    })
  )
  ...

Но я думаю, что в этом нет необходимости, и все усложнилось бы без реальной выгоды.

...