asyncì await를 ì¬ì©íì¬ ì½ë ë³ê²½í기
íë¼ë¯¸ì¤ ì²´ì´ë ì±í°ì ìì ì¤ íë를 .then/catch ëì async/await를 ì¬ì©í´ ë¤ì ìì±í´ë´
ìë¤.
function loadJson(url) {
return fetch(url)
.then(response => {
if (response.status == 200) {
return response.json();
} else {
throw new Error(response.status);
}
})
}
loadJson('no-such-user.json')
.catch(alert); // Error: 404
ìì¸í ì¤ëª ì ìëìì íì¸í ì ììµëë¤.
async function loadJson(url) { // (1)
let response = await fetch(url); // (2)
if (response.status == 200) {
let json = await response.json(); // (3)
return json;
}
throw new Error(response.status);
}
loadJson('no-such-user.json')
.catch(alert); // Error: 404 (4)
ì¤ëª :
-
í¨ì
loadJsonìasyncí¨ìê° ë©ëë¤. -
í¨ì ìì
.thenì ì ë¶awaitë¡ ë°ê¿ëë¤. -
ì ëµìì²ë¼
await를 ì¬ì©í´ë ëì§ë§, ìëì²ë¼return response.json()를 ì¬ì©í´ë ë©ëë¤.if (response.status == 200) { return response.json(); // (3) }ëì , ì´ë ê² ìì±íë©´ íë¼ë¯¸ì¤ê° ì´íëë걸
await를 ì¬ì©í´ ë°ê¹¥ ì½ëìì 기ë¤ë ¤ì¼ í©ëë¤. ì ììë í´ë¹ ì¬íì´ ìì§ë§ ë§ì´ì£ . -
loadJsonìì ëì ¸ì§ ìë¬ë.catchìì ì²ë¦¬ë©ëë¤.loadJsonì í¸ì¶íë ì½ëëasyncí¨ì ë´ë¶ê° ìë기 ë문ìawait loadJson(â¦)ì ì¬ì©í ì ììµëë¤.