fix Promise type backend init in Angular #3993
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes #3864
As specified in #3864 Angular is currently not working with WASM backend due to usage of custom
Promise.resolve()implementation which is always wrapping object toZoneAwarePromise(even if it already was).Therefore check for Promise type backend using
Promise.resolve(backend) === backendis always returningfalse.It is only manifesting with WASM backend in Angular as both WebGL and CPU are not returned as Promise from factory.
This is fix to this problem, which is keeping previous functionality unchanged.
Optionally it can be solved by always wrapping all backends into
Promise.resolve()and handling all backends in async way, but it would mean changing more function signature and all usages could be changed to handle only async way.To see the logs from the Cloud Build CI, please join either our discussion or announcement mailing list.
This change is