day89-回调未调用(Promise)

前言

回调函数本身包含JavaScript错误,Promise本身永远不被决议。怎么办?

竞态(高级抽象机制)

// 用于超时一个Promise的工具
function timeoutPromise (delay) {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject('timeout!')
}, delay)
})
}
// 设置foo()超时
Promise.race([
foo(),
timeoutPromise(3000)
])
.then(
function () {
// foo(..)及时完成
},
function (err) {
// 或者foo()被拒绝,只是没能按时完成
// 查看err来了解是哪种情况
}
)
文章作者: lmislm
文章链接: http://lmislm.com/2019/04/10/2019-04-10/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LMISLMのBlog