---
url: 'https://metadrop.net/en/events/drupalcon-reactive-programming-dealing-asynchronicity'
title: 'Reactive Programming: Dealing with Asynchronicity'
author:
  name: 'Ricardo Sanz'
  url: 'https://metadrop.net/es/sobre/ricardo-sanz'
date: '2025-09-25T16:16:38+00:00'
updated: '2025-09-25T16:16:40+00:00'
type: article
summary: 'This session will provide an introduction to Reactive Programming based on the ReactiveX library for JavaScript. Reactive Programming is a way to declare reactions to data change using data flows that transform data that crosses them. Although in a JavaScript environment not all data is asynchronous, most of it indeed is: user interaction, Web Workers, server pushes from WebSockets, AJAX calls or any other asynchronous calls.'
tags:
  - JavaScript
  - RxJS
  - DrupalCon
image: 'https://metadrop.net/sites/default/files/styles/full/public/2021-01/DrupalCon.png.webp?itok=RhePOXd1'
published: true
og:
  determiner: Automatic
  site_name: Metadrop
  street_address: 'Calle Manuel Luna, 12, 3 Dcha'
  locality: Madrid
  region: Madrid
  postal_code: '28020'
  country_name: España
  email: hola@metadrop.net
  phone_number: '910053180'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      '@type': Event
      url: 'https://metadrop.net/en/events/drupalcon-reactive-programming-dealing-asynchronicity'
      name: 'Reactive Programming: Dealing with Asynchronicity'
      description: 'This session will provide an introduction to Reactive Programming based on the ReactiveX library for JavaScript. Reactive Programming is a way to declare reactions to data change using data flows that transform data that crosses them. Although in a JavaScript environment not all data is asynchronous, most of it indeed is: user interaction, Web Workers, server pushes from WebSockets, AJAX calls or any other asynchronous calls.'
      eventAttendanceMode: Offline
      image:
        '@type': ImageObject
        url: 'https://metadrop.net/sites/default/files/styles/full/public/2021-01/DrupalCon.png.webp?itok=RhePOXd1'
      startDate: '2020-12-09'
      endDate: '2020-12-09'
      location:
        '@type': Place
        name: 'Place                      Country                Spain'
        address:
          '@type': PostalAddress
          addressLocality: 'Place                      Country                Spain'
          addressCountry: 'Place                      Country                Spain'
      performer:
        '@type': Organization
        name: DrupalCon
      organizer:
        '@type': Organization
        name: DrupalCon
    -
      '@type': Organization
      '@id': 'https://metadrop.net/#organization'
      url: 'https://metadrop.net/'
      name: Metadrop
      sameAs:
        - 'https://www.drupal.org/metadrop'
        - 'https://twitter.com/metadrop'
        - 'https://asociaciondrupal.es/partner/metadrop'
        - 'https://www.linkedin.com/company/metadrop'
      logo:
        '@type': ImageObject
        url: 'https://metadrop.net/themes/custom/mdrop_radix/logo-metadrop-500-500.jpg'
        width: '500'
        height: '500'
    -
      '@type': ItemPage
      '@id': 'https://metadrop.net/en/events/drupalcon-reactive-programming-dealing-asynchronicity'
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: Home
            item: 'https://metadrop.net/en'
          -
            '@type': ListItem
            position: 2
            name: Events
            item: 'https://metadrop.net/en/events'
      publisher:
        '@type': Organization
        '@id': 'https://metadrop.net/#organization'
---
 1. [Events](https://metadrop.net/en/events)
 
 # Reactive Programming: Dealing with Asynchronicity

DrupalCon

 Spain 

 

Wednesday, December 09, 2020

 [Event](https://events.drupal.org/europe2020/sessions/reactive-programming-dealing-asynchronicity.html)[Slides](https://rsanzante.github.io/drupalconeurope-2020-reactive-programming/slides/?showNotes=true) 

 

 

 



 



This session will provide an introduction to Reactive Programming based on the ReactiveX library for JavaScript. Reactive Programming is a way to declare reactions to data change using data flows that transform data that crosses them. Although in a JavaScript environment not all data is asynchronous, most of it indeed is: user interaction, Web Workers, server pushes from WebSockets, AJAX calls or any other asynchronous calls.

As client-side applications get more complex so does the management of all of this interrelated data. While Promises are an improved approach to manage this complexity than simple callbacks, Observables, operators and other tools from the Reactive Programming are a superior solution that allows creating data pipes that simplify the declaration of application behaviours. This produces a shorter and meaningful code that is easier to understand than other approaches. Because of this, it makes code more maintainable.

Nowadays much of the application logic is placed in the client, and Reactive Programming is a must when dealing with more than simple applications with a low level of data interrelation and interaction.

RxJS is intensively used in Angular, but can be used by importing a library in combination with other libraries like React or Vue.js or coding an application from scratch.

For this session, attendees would have some experience building asynchronous applications or have some notions about difficulties building those.

After this session, attendees will understand the basic principles of the Reactive Programming and when they should consider using it in a project.



Speakers

 

 



Ricardo Sanz

CTO