【发布时间】:2017-05-19 08:23:32
【问题描述】:
我有具有此功能的 DBService 打字稿类
`initialiseDb(): Observable < any > {
let source = Observable.create((observer) =>
{}
openRequest.onsuccess = (event: any) =>
{
console.log("Database open");
this.localDb = event.target.result;
}
observer.next();
observer.complete();
});
return source;
}
在 ngOnInit 上的 app.component.ts 上
let dbInitObservable = this.localDb.initialiseDb().subscribe
((res => alert("Initilisation")), err => alert("Error"), () => this.authService.autoSignIn());
我需要在initialiseDb 被调用并完成后才从authService 调用autoSignIn。
任何想法?,没有语法错误,但 this.authService.autoSignIn() 永远不会被调用。
Ta。
【问题讨论】:
-
你在哪里
next这个 observable 的东西? -
就在返回源代码之前
-
是的,
.next和.complete确实需要在.onsuccess挂钩内。你看到的都是异步代码。 -
在 Neil 上发现了,这很有效。我可以不做'observer.next();观察者.完成(this.service.autosignIn); '在'onsuccess'之外怎么行不通?
标签: angular typescript system.reactive observable