Я звоню в API-интерфейс ODATA, и после выполнения обещания результаты 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)
после строки .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"}
(обратите внимание на user_type)
Запуск из браузера или скрипача дает мне правильные результаты;только после then
данные портятся.
Я также подумал, что проблема может быть в типе INewBusinessProps[]
, поэтому я изменил его на any[]
, и он все еще не работал.