1
當我從API接收到我的令牌已過期的錯誤時,我希望能夠重新發出新令牌,並在第一次發送時重複請求,而不會讓用戶感覺到任何差異。有沒有辦法優雅地處理這個用例?Javascript承諾:如何處理API調用中的令牌失效?
function relogin(userInfo) {
return Q.Promise(function (resolve, reject) {
// ...
});
}
function makeTransaction(token, options) {
dataOperations.makeTransaction(token, options).then(function (result) {
// notify ui - new data yey!
}).catch(function (err) {
if (err.code === 304) {
relogin.then(function (token) {
makeTransaction(token, options);
}).catch(function (err) {
// notify UI - problems with server
});
}
});
}
僅供參考,明確要求第三方庫的東西是在這裏被認爲是主題。但是,您可以展示迄今爲止所做的工作,描述您遇到困難的地方並詢問如何解決問題。 – jfriend00
很高興知道。我經歷了「我如何提出一個好問題?」在提問時刷新我對最佳實踐的記憶。謝謝。 – Guy