我正在调用 ODATA API,并且在解决承诺后 JSON 的结果正在发生变化。
代码块:
return client
.get(apiQueryString, AadHttpClient.configurations.v1)
.then((response: HttpClientResponse) => {
if (response.ok) {
return response.json();
}
else {
console.warn(response);
return;
}
})
.then((json: { value: INewBusinessProps[] }) =>{
return json.value;
})
如果我在行console.log(response.json());
后加上一个if (response.ok)
,我会正确地取回数据:
{first_name: "Fake", last_name: "User", user_type: "billing"}
{first_name: "Fake", last_name: "User", user_type: "originating"}
{first_name: "Fake", last_name: "User", user_type: "responsible"}
但是,当我console.log(json.value)
在 line 之后添加时.then((json: { value: INewBusinessProps[] }) =>{
,我得到:
{first_name: "Fake", last_name: "User", user_type: "originating"}
{first_name: "Fake", last_name: "User", user_type: "originating"}
{first_name: "Fake", last_name: "User", user_type: "originating"}
(注意用户类型)
从浏览器或提琴手运行会给我正确的结果;只有在then
数据变得混乱之后。
我还认为这可能是INewBusinessProps[]
问题所在,所以我将其更改为any[]
它仍然无法正常工作。