add thenable utils
add thenable utils
then return promise
add test
add test
reject returned promise if exception
start working on resolver
adopt states
resolve promise with x
refactor then
promises a+ resolver is not well explained