So if you used Q or a similar library:
Q.async(function*() {
var ra = yield opA();
var rb = yield opB(ra);
yield opC(ra, rb);
})().done();
Are you wishing for the other syntax or something that you can't achieve with generators/promises today?