Promise先指定回调函数还是先改变状态?
发布日期:2021-05-04 20:48:07 浏览次数:19 分类:技术文章

本文共 794 字,大约阅读时间需要 2 分钟。

1.都有可能,正常情况下是先指定回调函数再改变,也有可能先改变状态再指定回调函数

2.如何先改变状态再指定回调?

2.1 在执行器中直接调用resolve()/reject()

let p = new Promise((resolve,reject) => {          resolve('ok')     })     p.then(value => {            console.log(value);     })

2.2 延迟更长时间才调用then(),加个定时器

let p = new Promise((resolve,reject) => {           setTimeout(function(){               resolve('ok')        },1000)     })     setTimeout(function(){           p.then(value => {            console.log(value);     })     },3000)

3.如何先指定回调再改变状态?

3.1在执行器中直接调用异步调用relove()/reject()

let p = new Promise((resolve,reject) => {           setTimeout(function(){               resolve('ok')        },1000)     })     p.then(value => {            console.log(value);     })

4.什么时候才能得到数据?

4.1 如果先指定回调函数,当状态发生改变的时候,调用回调函数,得到数据

4.2如果先改变状态,当指定回调函数时,调用回调函数,得到数据

上一篇:Promise自定义
下一篇:修改Promise对象的状态的方式

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年03月14日 17时46分22秒