Baseline Widely available
finally()
æ¹æ³æåå³ä¸å Promise
ãç¶ promise 被 settled å¾ï¼ç¡è«å
¶çµææ¯ fulfilled 鿝 rejected ï¼é½æå·è¡æå®çåå¼å½æ¸ã宿ä¾äºä¸åè® Promise
å¨è¢«ç¢ºèªå¾ï¼ç¡è«æ¯ fulfilled ææ¯ rejected 齿å·è¡æäºç¨å¼ç¢¼çä¸ç¨®ææ®µã
鿍£å¯ä»¥é¿å
ä½ å¨ promise ç then()
å catch()
éè¤èçç¸åçç¨å¼ç¢¼ã
p.finally(onFinally);
p.finally(function () {
// settledï¼fulfilled æ rejected)
});
Parameters
onFinally
ç¶ Promise
settled å¾å¼å«ç Function
ã
åå³ Promise
ç¶ finally
çèç彿¸ onFinally
被æå®æã
ç¶ä½ å¸æå¨ promise settled å¾ä¸ä¸éå¿å®ççµæçºä½æï¼å·è¡ä¸äºèçææ¸
ççå·¥ä½ï¼ finally()
æ¹æ³æå¾æå¹«å©ã
finally()
æ¹æ³é常é¡ä¼¼æ¼ .then(onFinally, onFinally)
çå¼å«æ¹å¼ï¼ä½ä»æä¸äºå·®ç°ï¼
finally
çåå¼å½æ¸ä¸¦ä¸ææ¥æ¶å°ä»»ä½å¼æ¸ï¼å å
¶æ²æå¯é çæ¹å¼ä¾ç¢ºèª promise æ¯è¢« fulfilled 鿝 rejected ãå®çä½¿ç¨æ
å¢å
é©ç¨æ¼ç¶ä½ ä¸éå¿ rejection çåå æ fulfillment çå¼ï¼å æ¤ç¡é æä¾ãç¯ä¾ï¼
Promise.resolve(2).then(() => {}, () => {})
ï¼å°è¢« resolved çºundefined
ï¼ä¸åï¼Promise.resolve(2).finally(() => {})
å°è¢« resolved çº2
ãPromise.reject(3).then(() => {}, () => {})
ï¼å° fulfilled çºundefined
ï¼ä¸åï¼Promise.reject(3).finally(() => {})
å°è¢« rejected çº3
ãåè¨»ï¼ å¨ finally åå¼ä¸ä½¿ç¨ throwï¼æåå³ rejected promiseï¼æå°è´æ°ç promise 被 rejectï¼reject çåå 忝å¼å« throw() æææå®çå¼ã
ç¯ä¾let isLoading = true;
fetch(myRequest)
.then(function (response) {
var contentType = response.headers.get("content-type");
if (contentType && contentType.includes("application/json")) {
return response.json();
}
throw new TypeError("Oops, we haven't got JSON!");
})
.then(function (json) {
/* process your JSON further */
})
.catch(function (error) {
console.log(error);
})
.finally(function () {
isLoading = false;
});
è¦ç¯ ç覽å¨ç¸å®¹æ§ åè¦
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4