---
url: 'https://metadrop.net/es/eventos/drupal-mountain-2019-reactive-programming-dealing-with-asynchronicity'
title: 'Reactive Programming: Dealing with Asynchronicity'
author:
  name: 'Ricardo Sanz'
  url: 'https://metadrop.net/es/sobre/ricardo-sanz'
date: '2025-09-25T16:35:26+00:00'
updated: '2026-06-04T11:29:46+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:
  - RxJS
  - JavaScript
  - 'Drupal Mountain'
image: 'https://metadrop.net/sites/default/files/styles/full/public/2025-09/drupalmountain.png.webp?itok=D9ZT84RA'
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/es/eventos/drupal-mountain-2019-reactive-programming-dealing-with-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/2025-09/drupalmountain.png.webp?itok=D9ZT84RA'
      startDate: '2019-01-03'
      endDate: '2019-01-03'
      location:
        '@type': Place
        name: 'Place                      País                Suiza'
        address:
          '@type': PostalAddress
          addressLocality: 'Place                      País                Suiza'
          addressCountry: 'Place                      País                Suiza'
      performer:
        '@type': Organization
        name: 'Drupal Mountain'
      organizer:
        '@type': Organization
        name: 'Drupal Mountain'
    -
      '@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/es/eventos/drupal-mountain-2019-reactive-programming-dealing-with-asynchronicity'
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: Inicio
            item: 'https://metadrop.net/es'
          -
            '@type': ListItem
            position: 2
            name: Eventos
            item: 'https://metadrop.net/es/eventos'
      publisher:
        '@type': Organization
        '@id': 'https://metadrop.net/#organization'
---
 1. [Eventos](https://metadrop.net/es/eventos)
 
 # Reactive Programming: Dealing with Asynchronicity

Drupal Mountain

 Suiza 

 

Jueves 03 de Enero de 2019

 [Event](https://drupalmountaincamp.ch/sessions/reactive-programming-dealing-asynchronicity)[Slides](https://rsanzante.github.io/drupalmountain-2019-reactive-programming/slides/) 

 

 

 

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 the 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