Você está fazendo algo ruim ali! o porquê de nao ter dado certo o amigo @uriel ja explicou.
Mas o buraco é mais em baixo! Você está alterando uma variável "global" (nem tão global pelo strict mode) dentro de uma função. Isso gera efeitos colaterais indesejados. Tipo, se no seu aplicativo você tem funcoes que alteram coisas globais, jaja uma variavel vai ser alterada sei la por quem e você gastará horas debugando.
Agora, pra te ajudar melhor é necessário umcontexto ali do que você quer fazer....Se esse código é um service, porque ele não pode retornar o pricesInfoRoot ao invés de setar a variável?
Nao entendi tb pq um "select" está como POST, está quebrando a regra de REST API
Segue um codigo de como deveria ser
// ./services/products.js
const body = page => {
app_key: authorization.app_key,
app_secret: authorization.app_secret,
call: "ListarProdutos",
param: [
{
"pagina": page,
"registros_por_pagina": 50,
"apenas_importado_api": "N",
"filtrar_apenas_omiepdv": "N"
},
],
};
export async function priceConsult(page) {
let request = {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(body(page)),
};
let apiResponse = await fetch(`${baseURL}/geral/produtos/`, request);
if (apiResponse.status == 200) {
let finalResponse = await apiResponse.json();
return priceTreat(finalResponse);
}
throw Error("Error searching products");
}
function priceTreat(priceProducts) {
return priceProducts.produto_servico_cadastro.map(price => {
return {
PartNumber: price.codigo,
Preco: price.valor_unitario.toString(),
};
});