gpt4 book ai didi

javascript - 如何拦截promise请求?

转载 作者:行者123 更新时间:2023-11-28 15:20:11 25 4
gpt4 key购买 nike

我正在使用 q promise ,并且我想在 promise 开始时显示旋转器。目前我正在这样做:

getPromise().then(function() { spinner.hide() })

getPromise() fn 中,我显示了微调器,因此 getPromise 看起来像:

function getPromise()
{
spinner.show()
}

但是有没有办法拦截 q 中的 then block ,以便我可以将 spinner.show 添加到该拦截中?

最佳答案

你想多了

var spinOnPromise = function(p) {
spinner.show()
p.finally(function() {
spinner.hide()
});
return p;
}

传入 Promise,只要 Promise 处于待处理状态,旋转器就会运行。

编辑:可以这样做:

var spinOnPromise = function(p) {
spinner.show()
return p.finally(function() {
return spinner.hide()
});
}

如果你这样做,区别在于,如果spinner.hide()返回一个promise(称之为p1),则从spinOnPromise返回的promise ()p1 解析之前不会被解析,但它会解析为与 p 相同的值。请参阅here了解详情。

你可以这样做,但我不明白为什么你会这样做。

关于javascript - 如何拦截promise请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31869369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com