Javascript 承诺<;任何>;正在转换为ZoneAwarePromise
我在项目中使用Angular5。我在api服务中实现了一些方法来回报承诺Javascript 承诺<;任何>;正在转换为ZoneAwarePromise,javascript,angular,typescript,promise,zone,Javascript,Angular,Typescript,Promise,Zone,我在项目中使用Angular5。我在api服务中实现了一些方法来回报承诺 method(): Promise<any> { return new Promise<any>((resolve,reject) => { this.http.get(url).subscribe((response) => { resolve(response); }, (error) => reject(erro
method(): Promise<any> {
return new Promise<any>((resolve,reject) => {
this.http.get(url).subscribe((response) => {
resolve(response);
}, (error) => reject(error));
});
}
它从未达到警戒状态。所有操作都成功,代码为200
当我在带有承诺的行暂停执行时,我看到我的承诺已转换为ZoneAwarePromise
当我将嵌套调用链接到它们时,效果很好
为什么承诺会改变?如何获得承诺。一切正常?用什么代替承诺?通过这样做:
forkJoin(...fetch.map(yourPromis(url)))
Angular包装了所有关于变化检测的承诺。你能否在stackblitz上创建一个简短的“不”工作示例?这似乎应该奏效。此外,您可以在rx管道上使用.toPromise()
,而不是自己构建承诺。这对承诺有何影响?在使用Angular时,我是否必须实现自己的.all()?不,您可以使用.all
和Angular您确定您的方法1和方法2也解决了可观察的问题吗?没有stackblitz很难调试,您发布的代码看起来应该可以工作
forkJoin(...fetch.map(yourPromis(url)))