Angular 当承诺不';有空吗?
在这些示例中,所有代码都使用简单的方法完成,其中busy==promiseAngular 当承诺不';有空吗?,angular,promise,observable,Angular,Promise,Observable,在这些示例中,所有代码都使用简单的方法完成,其中busy==promise onClickTwo() { const busy = new Promise<any>((resolve) => { setTimeout(() => { resolve(); }, 5000); }); this.busyConfigTwo.busy = [busy]; } onClickTwo(){ const busy=新承诺((解析)=>{ 设置
onClickTwo() {
const busy = new Promise<any>((resolve) => {
setTimeout(() => {
resolve();
}, 5000);
});
this.busyConfigTwo.busy = [busy];
}
onClickTwo(){
const busy=新承诺((解析)=>{
设置超时(()=>{
解决();
}, 5000);
});
this.busyConfigTwo.busy=[busy];
}
但在我使用的代码库中,没有一个调用是通过承诺完成的,而是通过Observable()完成的
如何将订阅此IBusyConfig.busy的用户链接到一起,以使ngBusy正常运行?您始终可以将承诺转换为可观察,反之亦然。要将Observable转换为promise,您只需调用Observable上的
toPromise
方法。e、 g
//return basic observable
const sample = val => Rx.Observable.of(val).delay(5000);
//convert basic observable to promise
const example = sample('First Example')
.toPromise()
//output: 'First Example'
.then(result => {
console.log('From Promise:', result);
});
有关更多信息,请参阅此
此外,我看到除以下承诺外,ngBusy
还接受订阅。因此,您还可以执行以下操作:
import { of } from 'rxjs';
onClickTwo() {
this.busyConfigTwo.busy = of(['whatever']).subscribe();
}
你在举什么例子?您可以使用普通RxJS实现类似的功能谢谢。你的帖子帮助我前进,让我们的代码以正确的方式工作。特别是“.busy=…subscribe()”。为了尽量减少对代码的更改,我只需“this.subscription=ourObservable.suscribe();”然后this.busyConfig.busy=[this.subscription];'我唯一的问题是垫子旋转器不旋转。