zhaozhao

Results 2 comments of zhaozhao

对于后面两个案例我是这样的理解@LuckyWinty: 首先讨论讨论一下async函数的返回值,我们都知道是一个新的promise对象,而不是真正函数体里return的那个值,但是不同值的类型会影响返回promise对象的行为,分两种情况: 1.返回一个非promise类型的任何值,此时返回的promise对象会把返回值作为作为resolve的结果,根据案例结果,这个promise立即被加入到了微任务队列 ```javascript Promise.resolve(value); ``` 2.返回一个promise类型的值,此时返回的promise对象会继承返回值的状态和值,类似于promise的链式调用,当链条中上游的promise的回调没有执行(执行时会resolve下游的promise),下游的promise还是pending状态!上游执行后,下游promise任务会追加到微任务队列尾部 根据案例中的结果,这个promise没有立即添加到微任务队列中,是因为它所依赖的promise回调还没有执行(异步) 参照以下代码: ```javascript Promise.resolve().then(() => { console.log('promise 1'); }).then(() => { console.log('promise 2'); }); Promise.resolve().then(() => { console.log('promise 3'); }); // promise 1...

compose也是正常顺序执行吧?只是变成洋葱模型了?你看一下@LuckyWinty: ```javascript const compose = (...fns) => { return fns.reduce( (prevFn, nextFn) => { return value => nextFn(prevFn(value)); }, value => value ); }; const arrFn = [ () =>...