티스토리 뷰
타입스크립트 3일차 - 포켓몬 api 예제에서 동기/비동기 문제
문제점
포켓몬 카드가 새로고침할 때마다 조금씩 순서가 다르게 나타날 때가 있었다.
해결
const fetchData = (): void => {
for (let i = 1; i <= pokemons; i++) {
getPokemon(i);
}
};
위 부분을 아래와 같이 고쳐준다.
const fetchData = async (): Promise<void> => {
for (let i = 1; i <= pokemons; i++) {
await getPokemon(i);
}
};
문제가 해결된 결과물~
알게 된 점
동기/비동기 관련 문제는 자바스크립트를 할 때에는 항상 일어날 수 있으니 의도되지 않은 형태로 구현되지 않도록 신경써야 한다(async, await 활용).
타입스크립트 4일차 - 포켓몬 api 스크래핑에서 시간 초과 문제
튜터님과 동일하게 코드를 작성 했음에도 시간 초과가 발생했다. 해당 코드는 사이트에서 #100이라는 값을 가지는 엘리먼트가 나타날 때까지 대기하도록 하는데, 이 시간으로는 부족했다. 10000정도로 늘리니 작동 했으며, typescript로 변환하는 과정 후에는 더 늘려야 가능했다.
await page.waitForFunction(
() => {
const cardId = document.querySelector(".card:last-child .card--id");
return cardId && cardId.textContent === "#100";
},
{ timeout: 5000 }
);
why???
'What I Learned > SpartaCodingClub' 카테고리의 다른 글
[내일배움캠프] 2023.01.16. ~ 2023.01.22. WIL (0) | 2023.01.22 |
---|---|
[내일배움캠프] 2023-01-20 TIL (0) | 2023.01.20 |
[내일배움캠프] 2023-01-17 TIL (0) | 2023.01.17 |
[내일배움캠프] 2023-01-16 TIL (0) | 2023.01.17 |
[내일배움캠프] 2023.01.09. ~ 2023.01.15. WIL (0) | 2023.01.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 13909
- 17103
- 2738
- 항해 플러스
- 26069
- Wil
- SQL
- 13241
- 백준
- 4134
- Python
- 25501
- 20920
- 24313
- 2053
- 1269
- 항해+
- 2587
- 코육대
- 5597
- 24060
- 벡준
- 24723
- 10807
- programmer
- til
- 25192
- MySQL
- 2903
- Programmers
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함