gpt4 book ai didi

javascript - 将 JavaScript 结果(js 文件)返回到 Angular 7

转载 作者:行者123 更新时间:2023-11-28 03:13:56 25 4
gpt4 key购买 nike

如何将 JavaScript 结果(js 文件)返回到 Angular 7 并使用它在 Javascript 中,所有步骤都是同时执行的,但我希望结果返回然后运行 ​​Angular。我使用了以下代码,但事实并非如此:

new Promise(function(resolve, reject) {
sign(); // this is in JS file
setTimeout(() => resolve(opSignature), 7000); // opSignature is result of sign()
}).then(
result => {
this.saveChallenge(result); // call angular method
}
);

我需要返回js文件中的值,然后在Angular中使用这个结果在JavaScript中,所有步骤都是按顺序执行的,不允许前面的步骤完成并转到下一步我的问题是顶行结果仍然没有返回到 Angular 的下一行,现在需要顶行结果。 sign() 是 javascript 文件中的方法, this.saveChallenge(result); Angular 为 7

Angular :

this._loginService.saveSignature(opSign)
.pipe(map(response =>
this.goToProcess(opSign)
))
.subscribe( );

js文件:

function sign() {
// my code ...
}

最佳答案

我解决了这个问题。我在js文件中调用 Angular 方法。在js文件中:

window.angularComponentReference.zone.run(() => { window.angularComponentReference.loadAngularFunction(); });

Angular :

    constructor(private ngZone: NgZone) {
}
ngOnInit() {
window['angularComponentReference'] = { component: this, zone: this.ngZone, loadAngularFunction: () => this.angularFunctionCalled(), };

private angularFunctionCalled() {
....
}

关于javascript - 将 JavaScript 结果(js 文件)返回到 Angular 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59817852/

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