Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //WebWorker.js
- export default class WebWorker {
- constructor(worker) {
- let code = worker.toString();
- code = code.substring(code.indexOf("{") + 1, code.lastIndexOf("}"));
- const blob = new Blob([code], { type: "application/javascript" });
- return new Worker(URL.createObjectURL(blob));
- }
- }
- //AppWorker.js
- import axios from 'axios'
- export default function AppWorker(args) {
- // eslint-disable-next-line
- let onmessage = function (e) {
- if (e.data.action === "join_network") {
- axios.get('http://example.com/').then(function (response) {
- console.log(response);
- })
- .catch(function (error) {
- console.log(error);
- });
- }
- };
- }
- //App Component.js
- import WebWorker from '../../core/Workers/WebWorker';
- import AppWorker from '../../core/Workers/AppWorker';
- componentDidMount() {
- //Start worker for stuff here
- const workerInstance = new WebWorker(AppWorker);
- workerInstance.addEventListener("message", e => {
- console.log(e.data);
- }, false);
- workerInstance.postMessage({
- action: "join_network"
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment