JSFiddle - React, Tailwind, and code Playground

by Sandeep Agrawal

HTML

<pre id="output"></pre>

JavaScript

let promise1 = new Promise((resolve, reject) => {
    let request = new XMLHttpRequest();
    request.open('GET', 'https://jsonplaceholder.typicode.com/todos/1');
    request.send();

    request.onreadystatechange = () => {
        if (request.readyState === 4) {
            console.log('jsonplaceholder API, request status: ' + request.status, ', readyState: ' + request.readyState);
            resolve('jsonplaceholder API responded faster!');
        }
    }
});

let promise2 = new Promise((resolve, reject) => {
    let request = new XMLHttpRequest();
    request.open('GET', 'https://api.github.com/users/mojombo/repos');
    request.send();

    request.onreadystatechange = () => {
        if (request.readyState === 4) {
            console.log('GitHub API, request status: ' + request.status, ', readyState: ' + request.readyState);
            resolve('GITHUB API responded faster!');
        }
    }
});

Promise.race([promise1, promise2]).then((message) => {
    document.getElementById('output').innerHTML = message;
});