As written, I think this is impossible. Every iteration is queued up immediately, so there is no way to break the chain. I think you are going to have to set up a manual flag like aborted
and add an if (this.aborted) { return }
to the top of playword()
.