Estoy usando AG-Grid (en React, pero una explicación en cualquier marco servirá) y tengo un 'valueGetter' personalizado aplicado a mi colDef que realiza un cálculo/formato en el valor de la celda antes de devolverlo para que se muestre en el célula.
Actual (funciona como se esperaba):
const defaultColDef = { valueGetter: (params) => { const result = doCalcFormat(params); //doCalcFormat applies calculations and formats return result; }, }Estoy tratando de agregar la capacidad para que la función 'doCalcFormat' sea asíncrona para que dentro de ella pueda obtener datos de una API, luego calcular/formatear con esos datos y luego devolver el valor final al valueGetter.
Sin embargo, cuando aplico la palabra clave async a mi valueGetter, todas mis celdas se llenan con [promesa de objeto] en lugar del valor real
Intentando:
const defaultColDef = { valueGetter: async (params) => { //added 'async' const result = await doCalcFormat(params); //an async version of 'doCalcFormat()' was made console.log(result); //always logs expected result return result; }, } async function doCalcFormat(params) { const res = await loadDataFunction(); //async func return res; }Pero cuando se carga la tabla:
//la tabla se llena con [objeto Promesa]
Mi pregunta es, ¿por qué sucede esto y cómo podría esperar a que 'doCalcFormat' termine su operación antes de regresar a mi valueGetter? Incluso si dejo que 'doCalcFormat' sea una función normal, todavía hace lo mismo, lo que me hace pensar que 'async' en valueGetter lo está descartando