Он просто говорит, что приложение должно запускаться на веб-сервере. У меня была такая же проблема с хром, я начал tomcat и перенесла туда свое приложение, и оно сработало.
Вы можете попробовать с моим предложением - с помощью switchMap
pipe
let isAlreadyExist = false; // "global" variable :)
s$.pipe(
map((x) => x + 1),
switchMap(async (x) => {
isAlreadyExist = await alreadyExist(x); // make sure alreadyExist is a promise func
return x; // "do" do nothing with your data
}),
filter((x) => isAlreadyExist)) // isAlreadyExist is value of alreadyExist func
.subscribe(...)
или вы можете прочитать о defer
из RxJS Observable
.
Если alreadyExist
возвращает boolean
, вы можете использовать mergeMap
, который будет ждать его результата, а если он true
, то он отобразит его в исходное значение x
. Когда он false
, он просто отфильтровывается filter
.
s$.pipe(
map((x) => x + 1),
mergeMap(x => from(alreadyExist(x)).pipe(
filter(Boolean),
mapTo(x),
)),
)
.subscribe(...)
alreadyExist
возвращает Promise, вам придется обернуть его с помощью from
– martin
14 July 2018 в 06:52