Skip to content

Instantly share code, notes, and snippets.

@daliborgogic
Last active September 18, 2018 15:52
Show Gist options
  • Save daliborgogic/d59a18fabc3d9ecf7470d350a599eb31 to your computer and use it in GitHub Desktop.
Save daliborgogic/d59a18fabc3d9ecf7470d350a599eb31 to your computer and use it in GitHub Desktop.
Web Workers Example
const marked = require('marked')
self.onmessage = function (event) {
switch (event.data) {
case 'next':
next(event.data)
break
case 'license':
license(event.data)
break
default:
initial(event.data)
break
}
}
const getCommits = async (name, commits) => {
const res = await fetch(commits)
const data = await res.json()
self.postMessage([name, data])
}
const initial = name => getCommits(name, 'http://localhost:3001/commits')
const next = (name, page) => getCommits(name, `http://localhost:3001/commits?page=${page}`)
const license = async name => {
const res = await fetch(`http://localhost:8080/license.md`)
const data = await res.text()
self.postMessage([name, marked(data)])
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment