为什么运行的结果是cdab而不是cabd
function a(){console.log("a");}
function b(){console.log("b");}
new Promise(function(resolve,reject){
console.log("c");
resolve(22);
}).then(console.log("d"));
a();
b();
// 运行结果
c
d
a
b
为什么运行的结果是cdab而不是cabd
function a(){console.log("a");}
function b(){console.log("b");}
new Promise(function(resolve,reject){
console.log("c");
resolve(22);
}).then(console.log("d"));
a();
b();
// 运行结果
c
d
a
b
new Promise((resolve,reject) => {
console.log("c");
resolve("d")
})
.then(res => {
console.log(res)
})
a();
b();
then 应该接受一个function 啊;
这里直接将console.log("d")的结果undefined作为它的回调,这个注册的过程当然是同步的;
不要将then方法误解为异步方法,then的回调才是异步的;
then方法会立即返回一个新的promise对象,此时这个新的promise对象就已经有了then的回调,并且等待上一个promise状态从pending改变后执行回调
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
你把
then
里的内容修改一下再试试:then
方法接收的参数是Function
类型