Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

183
Visualizações
¿Cómo sincronizar llamadas asincrónicas a Slides api y Slides class integradas en App Script?

Estoy tratando de crear una diapositiva en Google App Script y luego agregar un cuadro de texto a esta diapositiva recién creada. La primera llamada es a la API de Slides y la segunda llamada se realiza utilizando métodos incorporados. Sin embargo, debido a la naturaleza asíncrona de estas dos líneas, la 2 está operando antes que la 1 y provoca un error obvio.

 Slides.Presentations.batchUpdate({'requests': requests}, presentationId); var shape = presentation.getSlideById(newpageId).insertShape(SlidesApp.ShapeType.TEXT_BOX, 0, 0, width, height/4);

Mi pregunta sería: ¿Cómo crear una devolución de llamada o usar una promesa para hacer los ajustes necesarios?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Probé un enfoque diferente, agrupé todas las solicitudes en orden cronológico y funcionó:

 var requests = [{ 'createSlide': { 'objectId': newpageId, 'insertionIndex': current_index, 'slideLayoutReference': { 'predefinedLayout': 'BLANK' } } }, { "createShape": { "objectId": `silaComment${questionNumber}${token}`, "elementProperties": { "pageObjectId": newpageId, "size": { "width": { "magnitude": 3000000, "unit": "EMU" }, "height": { "magnitude": 3000000, "unit": "EMU" } }, "transform": { "scaleX": 0.6807, "scaleY": 0.4585, "translateX": 6583050, "translateY": 1673950, "unit": "EMU" } }, "shapeType": "WAVE" } }, { "insertText": { "objectId": `silaComment${questionNumber}${token}`, "text": comment + '\nasked by ' + name, "insertionIndex": 0 } }]; Slides.Presentations.batchUpdate({'requests': requests}, presentationId);
about 4 years ago · Juan Pablo Isaza Relatório

0

Simplemente podría esperar:

 Utilities.sleep();

Pero esto requiere estimar el tiempo de ejecución de la llamada a la API.

El script de aplicaciones actualmente no admite promesas. Incluso si lo hiciera, la llamada de actualización por lotes a la API no devuelve una promesa.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda