0
私はこのシナリオを持っています。解決方法()観察可能な成功後の約束
// this is in myService.ts
public myFunction() {
return new Promise((resolve) => {
let click = Observable.fromEvent(window, "click");
this.myStream = click
.map(() => Observable.timer(10000))
.switch()
.subscribe(() => {
// show alert here
});
});
}
// this is in home.ts page
ngOnInit() {
this.myService.myFunction().then(() => {
//simulate click at start
let event = new MouseEvent("click", {bubbles: true});
this.renderer.invokeElementMethod(
this.simulateClick.nativeElement, "dispatchEvent", [event]);
});
}
私の質問は、決意()を書き込む場所です。私が必要とするのは、Observable.fromEventに成功した後、クリックシミュレーションを行うことです。私がresolve()を書くと、という行の下をクリック= Observable.fromEvent(ウィンドウ、 "クリック")しましょう。次に、クリックをシミュレートしてからObservable.fromEventを実行します。
これは解決策ではありません。このイベントに登録する必要があります。 – djumerko
なぜですか?それはすでにあなたのために1回購読しています。あなたは 'myFunction()。then'が必要なことをすることができます。 – Val