gpt4 book ai didi

angular - 你能在 Angular 2(使用 Typescript)中返回一个 observable 作为 promise 吗?

转载 作者:太空狗 更新时间:2023-10-29 18:03:51 28 4
gpt4 key购买 nike

<分区>

我正在学习使用 Angular 2 和 Typescript 在 Ionic 2 中进行开发。

我立即尝试创建一个函数,该函数返回一个 promise ,该 promise 在观察到的变量发生变化时得到解决。

这对我来说很有用,可以在页面组件尝试使用它之前检测提供程序内的初始化何时完成。例如

api.isInitialized()
.then(() => {
//api provider is initialized. Now safe to call it!
return api.fetch("NEWS");
});
.then((newsData) => {
//do something with newsData
});

我有以下导入:

import 'rxjs/add/operator/map';
import 'rxjs/add/operator/toPromise';
import { Observable} from 'rxjs/Observable';

为了检查我对 toPromise 如何工作的理解,我尝试调用以下函数。我只得到“testObservable 已更改”。我希望也能“解决 promise ”。

我如何更改 testObservable 以产生已解决的 promise ?

 observerTest(){
let testObservable: any;
let testObserver: any;

testObservable = Observable.create(observer => {
testObserver = observer;
});

let myPromise = testObservable.toPromise();

testObservable.subscribe(data => {
console.log("testObservable has changed.");
console.log(data);
});

myPromise.then(() =>{
console.log("promise resolved.");
});

testObserver.next(true);
}

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com