todo-list 1.使用symbols来隐藏内部变量以及promise的状态 2.执行回调改成 优先 process.nextTick -> useMutationObserver -> setImmediate -> setTimeout