承诺始终在 Chrome 控制台中挂起
Promise always pending in Chrome console
为什么以下承诺永远不会解决?
const x= new Promise(resolve=>setTimeout(()=>resolve(12),5000));
通过在控制台中写入,
const x= new Promise(resolve=>resolve(12))
正在
`Promise {<fulfilled>: 12}`
通过写作
const x= new Promise(resolve=>setTimeout(()=>resolve(12),5000))
正在
Promise {<pending>}
想法,应该会在 5 秒后完成。但是,事实并非如此。为什么?
控制台只是向您显示 Promise 当前状态 的快照。它不会监视其状态的变化。
Why the following promise never resolves?
您可以清楚地看到这确实在 5 秒后解决了:
const x= new Promise(resolve=>setTimeout(()=>resolve(12),5000)) ;
x.then(result => console.log(result));
为什么以下承诺永远不会解决?
const x= new Promise(resolve=>setTimeout(()=>resolve(12),5000));
通过在控制台中写入,
const x= new Promise(resolve=>resolve(12))
正在
`Promise {<fulfilled>: 12}`
通过写作
const x= new Promise(resolve=>setTimeout(()=>resolve(12),5000))
正在
Promise {<pending>}
想法,应该会在 5 秒后完成。但是,事实并非如此。为什么?
控制台只是向您显示 Promise 当前状态 的快照。它不会监视其状态的变化。
Why the following promise never resolves?
您可以清楚地看到这确实在 5 秒后解决了:
const x= new Promise(resolve=>setTimeout(()=>resolve(12),5000)) ;
x.then(result => console.log(result));