怎么判断 getToken 里面的回调执行 还是没执行啊, 这个回调如果存在的话 还是个异步的
resolve(false)
删了即可。你的问题在于不理解 Promise 如果使用。
new Promise((reslove, reject)=>{
// reslove() 调用这个会执行then回调
// reject() 调用这个会执行catch回调
// 上述方法只能调用一次。因为你 getToken 是异步的。所以一直都是 false
}).then(v=>{}).catch(v=>{})
更新时间:2020年4月18日19:53:33
你看下面这个图是不是能能理解,因为你的 getToken
是个异步操作(理解为 setTimeout
)。然后呢你同步的执行了 reslove(false)
Promise
状态和值是不可变的,所以导致一直都是 false
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决