Script

O bloco “Script” permite a execução de código JavaScript.

Observação: Esse bloco não possibilita a criação de elementos visuais personalizados.

setVariable Function

Se você deseja definir um valor de variável usando JavaScript, o bloco Definir variável é a opção mais recomendada na maioria dos casos.

No entanto, caso precise definir variáveis dentro de um bloco de script, você pode utilizar a função setVariable no seu código:

if ({{My variable}} === 'foo') {
  setVariable('My variable', 'bar');
} else {
  setVariable('My variable', 'other');
}

A função setVariable está disponível apenas em scripts executados no servidor. Portanto, não funcionará se a opção "Execute on client?" estiver ativada.

Limitações em scripts executados no servidor

Como o script é executado em um ambiente isolado e seguro, existem algumas limitações:

  • Funções globais como console.log, setTimeout, setInterval, entre outras, não estão disponíveis.

  • A função fetch possui um comportamento diferente da versão nativa: não é necessário utilizar await response.text() ou await response.json().

Exemplo:

Isso gera um erro:

const response = await fetch('https://jsonplaceholder.blucode.com/todos/1');
const data = await response.text();

Forma correta:

const data = await fetch('https://jsonplaceholder.blucode.com/todos/1');

Isso gera um erro:

const response = await fetch('https://jsonplaceholder.blucode.com/todos/1')
const data = await response.json()

Forma correta:

const response = await fetch('https://jsonplaceholder.blucode.com/todos/1')
const data = JSON.parse(response)

Atualizado