gpt4 book ai didi

javascript - Observable 已订阅,响应已返回,无法访问字段

转载 作者:行者123 更新时间:2023-11-28 18:08:43 25 4
gpt4 key购买 nike

这里,这是我的观察结果:

userLogin(formData: Object):Observable<Response> {
return this.http.post(apiURL + '/api/logon', formData)
.map((response: Response) => {
return response.json();
}
})
}

然后我在某个地方订阅如下:

this.auth.userLogin(forData)
.subscribe((result) => {
console.log(result); // this logs the response from server object
// console.log(result.username) doesn't work WHY?
// Error: Property 'username' does not exist on type 'Response'
})

那么我做错了什么?

编辑:

Console.log 输出:

Object {
pappassword:"2f636cc3f8ffeda00dfe448fc483ce3"
success:true
uamip:"192.168.182.1"
uamport:"3990"
username:"jh"
userurl: "http://www.gstatic.com/generate_20"
}

enter image description here

最佳答案

userLogin 方法的返回类型应为 Observable<T> ,这里 T 代表您的响应数据类型/接口(interface)。您可以使用响应数据模型创建一个接口(interface)并将其用作您的数据类型。

interface UserInterface {
pappassword: string
success: boolean
uamip: string
uamport: string
username: string
userurl: string
}

并在您的 userLogin 方法中:

userLogin(formData: Object):Observable<UserInterface> {
...
}

我们可以只使用Observable<any>但这是 TypeScript 的最佳实践。

关于javascript - Observable 已订阅,响应已返回,无法访问字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42089158/

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