Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

Gray-Ice

个人博客兼个人网站

逻辑是这样的: 先在期约的作用域外定义一个变量,然后在期约中让这个变量等于期约的resolve方法,然后在期约外调用这个定义的函数。
那么看代码吧:

1
2
3
4
5
6
7
8
9
10
let syncfunction;
let p = new Promise((resolve)=>{
syncfunction = resolve;
})

p.then(()=>{
console.log("p run trap.");
})
syncfunction();
console.log("the last run");

我这里浏览器控制台输入如下:

1
2
the last run
p run trap.

then中的箭头函数因为期约被完成而调用。
本篇完。js是真的离谱。

评论



愿火焰指引你