pass promises/A+ 2.1.2.1 test
fix typos
pass Promises/A+ 2.1.3.1 test
pass Promise/A+ 2.2.1 test