JSFiddle - React, Tailwind, and code Playground

by jacobwsmith

JavaScript

// source code for worker.
console.log('--- start ---');

var makeRequest = function(resolve, reject) {
  return setTimeout(resolve, 100, 'foo');
};

let code = function() {
    
        makeRequest()
        .then(function(res) {
            // process request. if you want to send message to main thread just use fn below
            // message can be almost everything, but it can not pass any methods.
            // self is simply worker. you don't have to declar self, it's already declared like window in main thread.
            self.postMessage(message)
        })
        .catch(function(err) {
            // process request failure.
            console.log('ERROR: ', err)
        })
};

/* console.log(promise1); */

// stringify source code and make it blob as described in link

let worker = new Worker(code);

worker.addEventListener('message', function(workerReponse) {
    // workerReponse is simply `message` which was passed in self.postMessage(message).
    console.log(workerResponse);
});

console.log('--- end ---');