Async e Await
Olá galera, gostaria de entender mais sobre operações asíncronas e sincronas, conseguem me recomendar algum video ?
Estou com um problema no meu código que tenho certeza que é problema de promise porém não sei como resolver.
Segue o código, ja coloquei alguns logs para entender oq está acontecendo e ele está exportando test antes preencher ela, ja tentei usar uma função settimeOut, porém n deu certo.
A aplicação é no back end em node.js
const priceConsult = require("./priceConsultAPI");
const structureConsult = require("./structureConsultAPI");
let test;
let treatPricesandStructure = async () => {
let pricesInfo = await priceConsult;
let structureInfo = await structureConsult;
toObjectArray(pricesInfo, structureInfo);
};
treatPricesandStructure();
let toObjectArray = (priceProducts, productStructure) => {
let arrayPrices = priceProducts.produto_servico_cadastro.map((price) => {
return {
PartNumber: price.codigo,
Preco: price.valor_unitario.toString(),
};
});
let arrayStructure = productStructure.itens.map((product) => {
return {
PartNumber: product.codProdMalha,
Qtd: product.quantProdMalha,
Preco: null,
};
});
addStructurePrices(arrayStructure, arrayPrices);
};
let addStructurePrices = (arrayStructure, arrayPrices) => {
for (let i = 0; i < arrayStructure.length; i++) {
let matchingPrice = arrayPrices.find(
(price) => price.PartNumber === arrayStructure[i].PartNumber
);
if (matchingPrice) {
arrayStructure[i].Preco = parseFloat(matchingPrice.Preco) * 3;
}
}
arrayStructure.forEach((structure) => {
structure.Preco = parseFloat(structure.Preco.toFixed(2));
});
test = arrayStructure;
exportData(test);
// await exportData(arrayStructure);
};
let exportData = (exportedArray) => {
test = exportedArray;
module.exports = test;
};