Promise polyfill 如何异步执行回调 https://github.com/stefanpenner/es6-promise/blob/master/lib/es6-promise/asap.js#L109 node 使用 process.nextTickwebpage 使用 MutationObserverweb worker 使用 MessageChannelfallback setTimeout