Back to Help Center

USAR CONTEXT BUFFER - JS

Equipe Learning

Manter X payload em um buffer para usar a payload anterior

Manter X payload em um buffer para usar com a payload anterior

//Escolher o número de payloads que você deseja manter (5 payloads neste exemplo)
const NbPayload = 5 ;

//Declarar um array vazio ou obter o ArrayBuf atual (o ArrayBuf estará disponível a partir do fluxo)
let array = context.get("ArrayBuf") || [];

//Adicionar a payload atual ao array
array.push(msg.payload);

//Se o comprimento do array for maior que o número de payloads que você deseja manter...
if(array.length > NbPayload)
{
    //...removemos a primeira payload do array
    array.shift();
}

//Salvar o array em ArrayBuf
context.set("ArrayBuf",array);

Agora você pode obter uma payload do buffer desta forma:


//No final da função, você pode obter a payload anterior
//Índice da payload atual = NbPayload-1 (porque o índice do array começa em 0!)
//Índice da Payload Anterior = NbPayload-2
PreviousTag1 = context.get("ArrayBuf")[NbPayload-2].Tag1
//O mesmo que "_doJava.get("tag1", -1)" no MX Brain

Manter apenas algumas tags de X payload em um buffer

Manter apenas algumas tags (tagToKeep) de X payload (NbPayload) em um buffer para usar as tags anteriores

//1) Escolher o número de payloads que você deseja manter
const NbPayload = 5 ;
//2) Configurar a lista de tags da payload que você deseja manter
const tagToKeep =[
    "tag1",
    "tag2",
    "tag3",
    ]

//Declarar um objeto
let ObjToKeep = {};
//Manter as tags e valores da lista "tagToKeep"
for(let tag of tagToKeep)
{
     ObjToKeep[`${tag}`] = msg.payload[tag];
}

//Declarar um array vazio ou obter o ArrayBuf atual
let array = context.get("ArrayBuf") || [];

//Adicionar o ObjToKeep atual ao array
array.push(ObjToKeep);

//Se o comprimento do array for maior que o número de payloads a manter
if(array.length > NbPayload)
{
    //Remover a primeira entrada do array
    array.shift();
}

//Salvar o array
context.set("ArrayBuf",array);
Powered by Zendesk