<table>
<td id="ping"></td>
<td id="pong"></td>
</table>
window.ActorSystem = tarant.ActorSystem
window.Actor = tarant.Actor
let sleep = async (time) => new Promise((resolve) => setTimeout(resolve, time))
let currentTime = +(new Date())
let timestamp = () => ((+new Date()) - currentTime)
class Ping extends Actor {
constructor() {
super("Ping")
this.times = 0
}
async ping(to) {
document.getElementById("ping").innerHTML += '<p>Ping</p>'
to.pong(this.self)
return await sleep(2000)
}
}
class Pong extends Actor {
constructor() {
super("Pong")
this.times = 0
}
async pong(to) {
document.getElementById("pong").innerHTML += '<p>Pong</p>'
to.ping(this.self)
return await sleep(2000)
}
}
let system = ActorSystem.default()
let ping = system.actorOf(Ping, [])
let pong = system.actorOf(Pong, [])
window.onload = () => ping.ping(pong)
This Pen doesn't use any external CSS resources.