Both promises and generators can be used to implement delimited continuations.
Furthermore, there is already a compiler that implements first class delimited continuations in JavaScript: http://stopify.org
The project implements the control operator (which can implement other operators like call/cc). The research paper linked on the website talks about how control is implemented.