Tengo un problema ya que quiero obtener varios datos de una sola llamada API. ¿Cómo puedo devolver más de un valor? Estoy ejecutando esta función, crea los registros correctos, pero no la parte de retorno.
function getParts(axieID) { const response = UrlFetchApp.fetch(`https://api.axie.technology/getaxies/${axieID}`); const data = JSON.parse(response.getContentText()); try { Logger.log(data.class) Logger.log(data.parts[1].name) return { total: data.class }, { total1: data.parts[1].name }; } catch (e) { Logger.log(e) return { total: 'error', total1: 'error' } } }EDITAR
var {total} = getParts(axieID); if (total != 'error') { sh3.getRange('J'+counter).setValue(total); } Utilities.sleep(700) } var {total1} = getParts(axieID); if (total1 != 'error') { sh3.getRange('K'+counter).setValue(total1); } Utilities.sleep(700)SOLUCIÓN (total cambiado con classe y total1 cambiado con orecchie):
function getParts(axieID) { const response = UrlFetchApp.fetch(`https://api.axie.technology/getaxies/${axieID}`); const data = JSON.parse(response.getContentText()); try { Logger.log(data.class) Logger.log(data.parts[1].name) return {classe : data.class, orecchie : data.parts[1].name}; } catch (e) { Logger.log(e) return { classe: 'error', orecchie: 'error' } } } var {classe,orecchie} = getParts(axieID); if (classe != 'error') { sh3.getRange('J'+counter).setValue(classe); } if (orecchie != 'error') { sh3.getRange('K'+counter).setValue(orecchie); } Utilities.sleep(700) }Enfoque # 1:
Devuelva un objeto que incluya ambas propiedades y utilícelas fácilmente llamando a getParts(id).total o getParts(id).total1 :
function getParts(axieID) { const response = UrlFetchApp.fetch(`https://api.axie.technology/getaxies/${axieID}`); const data = JSON.parse(response.getContentText()); try { Logger.log(data.class) Logger.log(data.parts[1].name) return {total : data.class, total1 : data.parts[1].name}; } catch (e) { Logger.log(e) return { total: 'error', total1: 'error' } } }Enfoque n. ° 2: al devolver una matriz
function getParts(axieID) { const response = UrlFetchApp.fetch(`https://api.axie.technology/getaxies/${axieID}`); const data = JSON.parse(response.getContentText()); try { Logger.log(data.class) Logger.log(data.parts[1].name); let total=data.class; let total1=data.parts[1].name; return [total, total1]; } catch (e) { Logger.log(e) return { total: 'error', total1: 'error' } } }