今天我看了很多例子。它们似乎表明以下代码应该按顺序执行:
let f = () => {
return new Promise((res, rej) => {
console.log('entering function');
setTimeout(() => {
console.log('resolving');
res()
}, 2000)
});
};
Promise.resolve()
.then(f())
.then(f());
预期输出应该是:
entering function
resolving
entering function
resolving
但事实并非如此。输出结果为:
entering function
entering function
resolving
resolving
我不明白为什么发生了这种情况。非常感谢您的帮助。
then(f())
会立即调用该函数。 - Cjmarkham