promiseA2/Promise.coffee