Estoy usando GraphQl junto con bigcommerce para obtener productos, y necesito encontrar una solución para hacer que mi consulta sea dinámica: se basa en la longitud de una matriz de SKU. No es problema hacerlo funcionar con un solo producto.
let query = ` query getProductBySku($sku: String) { site { product(sku: $sku) { id entityId name sku } } } `Y descubrí hasta ahora que necesito usar algo como alias en graphql para poder obtener varios productos en varias respuestas como esta
query productById { site { o1: product(entityId: 167) { id entityId sku name } o2: product(entityId: 168 ) { id entityId sku name } } }Pero necesito poder hacer que esta consulta de alias sea dinámica en función de la longitud de la matriz. ¿Cómo abordarías la solución de este problema? ¿Es posible crear un bucle que escriba la consulta antes de ejecutarla? ¡Cualquier ayuda que me permita ir en la dirección correcta aquí sería muy apreciada! ¡Gracias!
PD. estoy usando javascript.
Para cualquier persona curiosa, terminé pudiendo usar .map para realizar un bucle dinámico de la consulta y ejecutarla :)
let query = ` query productBySku { site { ${sku .map( (product: any, idx: number) => `pro${idx}: product(sku: "${product}") { id entityId sku name } ` ) .join('')} } }`