gpt4 book ai didi

javascript - typescript /Angular 传递值?

转载 作者:行者123 更新时间:2023-11-30 14:54:07 27 4
gpt4 key购买 nike

所以在普通的 javascript 中,如果我想为变量赋值,然后在函数外部使用该值,可以通过先声明变量然后在函数中定义它的值来完成。我是 typescript 和 angular 的新手,所以我不知道如何做到这一点。

在下面的代码中,我尝试从服务中的方法获取值,然后将该值传递到我的返回值中。 (我希望这是有道理的)。但是,我在 console.log(url) 上一直未定义,没有其他错误。

emailsAPI() {
let url: any
this.apiUrlsService.urlsAPI().subscribe(
data => {
this.results = data
url = this.results.emails
}
);
console.log(url)
return this.http.get('assets/api/email_list.json')
}

api-urls 服务:

import { Injectable } from '@angular/core';
import { HttpClient, HttpErrorResponse } from '@angular/common/http';

@Injectable()
export class ApiUrlsService {

constructor(
private http: HttpClient
) { }

urlsAPI () {
return this.http.get('assets/api/api_urls.json')
}

}

最佳答案

那是因为您正在调用异步方法 subscribe,然后尝试在订阅解决之前记录即将到来的值。在将 this.results.emails 分配给 url 变量

之后,将最后两个语句(console.log 和 return)放在大括号内

关于javascript - typescript /Angular 传递值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47621206/

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