Public
Edited
Mar 6, 2023
Insert cell
Insert cell
Insert cell
{
if (!port) return
const reader = port.readable.getReader()
while (true) {
const { value, done } = await reader.read()
if (done) break
yield value
}
}
Insert cell
Insert cell
Insert cell
data = Generators.observe(notify => {
const data = []
const socket = new WebSocket('wss://ws.blockchain.info/inv')
socket.addEventListener('open', () => socket.send(JSON.stringify({op: 'unconfirmed_sub'})))
socket.addEventListener('message', (message) => {
while (data.length && +data[0].time < new Date(Date.now() - 30000)) data.shift()
data.push({ time: new Date(), size: JSON.parse(message.data).x.size })
notify(data)
})
notify(data)
return () => socket.close()
})
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more