Blog overzicht

Code Acties Best Practices

Cloud code actions bieden een gemakkelijke manier om je bot echt dynamisch te maken. Dit zijn enkele van de best practices die we graag delen.

Gebruik async

Cloud code is een enkele JavaScript (ES6) function. We adviseren iedereen gebruik te maken van async functions.

async payload => {
  // your code there
}

Vroeger moest je nested code schrijven met callbacks. Door async te gebruiken, kun je beter leesbare stukjes code schrijven.

// The old way
(function(payload) => {
  request('https://awesome.org/1')
    .then(response1 => {
      // Do something with the first response
      request('https://awesome.org/2')
        .then(response2 => {
          // Do something with the second response
        })
        .catch(err => {
          console.error('Error', err)
        })
    })
    .catch(err => {
      console.error('Error', err)
    })
})

Met asynchrone functies kun je eenvoudige code schrijven, zoals:

// The old way
async payload => {
  try {
    const response1 = await request('https://awesome.org/1')
    // Do something with the first response
    const response2 = await request('https://awesome.org/2')
    // Do something with the second response
  } catch(err) {
    console.error('Error', err)
  }
}

Hou het kort en simpel

Het is vaak beter om verschillende acties op te splitsen.

Controleer of er een parameter bestaat

Optionele parameters kunnen leeg zijn! Controleer altijd of ze aanwezig zijn of niet. Omdat een parameter altijd lijsten (arrays) is, kun je zoiets gebruiken als:

if(Array.isArray(payload.params.myparam)) {
   // We have a param
}

Gebruik return in plaats van reply

De reply() methode is alleen bedoeld voor callback-functies.

Als je kunt proberen om de await oproepen te gebruiken en berichten terug te sturen in plaats van de antwoordmethode te gebruiken.


Gebruik triggers in plaats van messages

Door zoveel mogelijk triggers te gebruiken voor statische inhoud, kun je alle inhoud binnen de flow editor houden. Dit maakt het veel gemakkelijker om code in meerdere talen op te bouwen en te onderhouden.

Demo aanvragen