This might sound bonkers at first, but I think I did not really understood promises until I implemented the spec myself (with a lot of studying others' code that is).
It's actually not too time-consuming (I think it took me an afternoon) and there is a test suite covering the entire spec on npm: https://www.npmjs.com/package/promises-aplus-tests so you can just hack away until everything is green.