JSFiddle - React, Tailwind, and code Playground

by thinkloop

HTML

<script src="https://static.firebase.com/v0/firebase.js"></script>

JavaScript

firebaseRef = '_fiddle2';
    data = new Firebase('https://fiddles.firebaseIO.com/' + firebaseRef + '/data');
    workers = new Firebase('https://fiddles.firebaseIO.com/' + firebaseRef + '/workers');

    // clear all data
    data.remove();
    workers.remove();

    // listen for new work
    workers.limit(1).on('child_added', function (snapshot) {
        var workerName = snapshot.name();
        var workerVal = snapshot.val();
        console.log('INVOKED: ', workerVal + ' [' + workerName + ']');

        // increment counter as example work
        data.child(workerVal).transaction(function (tran) {
            return tran + 1;
        }, function (error, committed, snapshot2) {
            console.log('COMMITTED: ', snapshot2.name() + ' = ' + snapshot2.val() + ' [' + workerName + ']');
            workers.child(workerName).remove();
        }, false);
    });

    // create work
    workers.push('WORKER1');
    workers.push('WORKER2');
    workers.push('WORKER3');