2020/05/24 - [취미 개발] - 유튜브 댓글 가지고 놀기(2
1. 상황
Youtube 영상의 댓글을 불러올 때 API를 이용합니다. 최대 100건씩 N page를 수행합니다..
이 때 반복적인 100건 호출에 대한 N건 실행을 하려고 합니다.
2. 코드
-
< 예상 시나리오 >
-
(1) getVideoComent() 부터 ~ 다음 Promise까지 순차적으로 수행
-
(2) <done !!! yet > 출력
-
(3) ++page 카운터 동작
-
(4) page N 건 도달시, <done!!! all > 동작 >
3. 틀렸습니다.
실제 수행은,
-
page 카운터대로 빠르게 실행되었고
-
Promise 동작은 실행된 후 천천히 나중에 수행되었습니다. : 비동기식 프로그래밍
어떻게 할 수 있을 지 고민하고 있습니다.
그래서 한 것이 "page 카운터 변수를 Promise 내부 동작의 끝 then에 두면" 되지 않을까 생각했습니다.
아래는 결과입니다.
무한 루프를 돌았고, 컴퓨터가 뻗었습니다.
Promise를 갓 적용하고 있기 때문에 뭐가 빠진줄 잘 모릅니다. 도와주실분 있으시면 언제든 댓글 환영입니다.
4. 코드 주소
https://github.com/ukiKwon/youtube-country-comment-finder/issues/2
[async programming] How to execute N "consecutive Promise method" · Issue #2 · ukiKwon/youtube-country-comment-finder
This is /src/public/script/module_op.js in this project. var page = 0; for (; page<maxpage;page++;) {="" let="" nextpage="" ;="" getvideocomment(nextpage)="" .then(function(comment)="" return="" getbri...<="" p=""> </maxpage;page++;)>
github.com
'공부 > javascript' 카테고리의 다른 글
[JSON] 빈 값 체크, 조금 다른 결과 (0) | 2020.06.02 |
---|---|
[javascript object array length 0] "오브젝트 길이 문제" (0) | 2020.06.01 |
[비동기] for문 Promise, 배치식 프로그래밍 (2) (0) | 2020.05.30 |
[비동기문제] 에러는 아니지만 착각하는 비동기. (0) | 2020.05.27 |
[비동기 문제] "먼저 되는 녀석부터 한다" (0) | 2020.05.24 |