Angular - Promise 不断返回 ZoneAwarePromise

问题描述 投票:0回答:1

如何让

myPromise
成为正常的承诺而不是 ZoneAwarePromise?我也尝试过将
resolve()
包裹在
NgZone.runOutsideAngular()
setTimeout()
中,但没有成功。

const myPromise = Promise.resolve('');
console.log('myPromise', myPromise); // logged as ZoneAwarePromise
angular es6-promise
1个回答
0
投票

Angular 需要 zone.js 来修补 Promise,因此如果 Promise 不是 ZoneAwarePromise,Angular 将抛出错误。您可以禁用其他异步任务,例如 setTimeout,但不能禁用 Promise

如果您在 Angular 应用程序中禁用 Promise,它将抛出以下错误。

Uncaught (in promise) Error: Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.

可禁用的api列表

© www.soinside.com 2019 - 2024. All rights reserved.