잡담

프로미스 패턴 쓰고 콜백지옥 고쳤는데

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
getSummonerInfo()
        .then(summonerjson => {
            console.log("getSummonerInfo 성공");
            return getMatchInfo();
        })
        .then(matchjson => {
            console.log("getMatchInfo 성공");
            return getChampionInfo();
        })
        .then(championjson => {
            console.log("getChampionInfo 성공");
            return getItemInfo();
        })
        .then(itemjson => {
            console.log("getItemInfo 성공");
            //여기서 summonerjson matchjson championjson itemjson 사용하려면 어떻게 해야 함?
        });
cs

 

 

 

마지막에 summonerjson matchjson championjson itemjson 다 써야 하는데 어떻게 해야 하는거임..?

12개의 댓글

2020.04.02

Promise.all([getSummonerInfo(), getMatchInfo(), getChampionInfo(), getItemInfo()])

.then(function (values) {

var summoner = values[0];

var match = values[1];

var champion = values[2];

var item = values[3];

});

1
2020.04.02
@뱀고기

감사감사

0
2020.04.02

위에 받고 깔끔버전

Promise.all([getSummonerInfo(), getMatchInfo(), getChampionInfo(), getItemInfo()])

.then(function (values) {

const [summoner, match, champion, item] = values;

});

1
2020.04.02
@syntaxError

와 감사

근데 잘 되던게 이걸로 바꾸니까

Uncaught (in promise) 200 parser error가 뜸..

0
2020.04.02
@syntaxError

아...자바 내에서

컨트롤러 두개가 동시 실행되서 그러네...

SummonerInfo 컨트롤러 요청 실행되고 MatchInfo 가져와야대는데

둘이 같이 실행돼서..

0
@샤켓

프로미스 all이 순차실생 보장 안함

순차실행하는법 있긴한데 모바일이라 찾기 귀찮네

0
2020.04.02
@안드로이드박사

잘 모르겠어서 그냥 하나만 콜백으로 바꿨어..

0

async await 써라

0
2020.04.02
@안드로이드박사

프로미스 찾다가 그게 끝판왕이래서 해보고싶은데

이 글 같이 쓰는 예시 하나 써주면 안될까

0
@샤켓

집가서써줌 기달

0
@샤켓

 

const sampleF1 = async function() {

  const summonerjson = await getSummonerInfo();

  console.log("getSummonerInfo 성공");

  const matchjson = await getMatchInfo();

  console.log("getMatchInfo 성공");

  const championjson = await getChampionInfo();

  console.log("getChampionInfo 성공");

  const itemjson = await getItemInfo();

  console.log("getItemInfo 성공");

  //여기서 summonerjson matchjson championjson itemjson 사용

}

 

const samleF2 = async function() {

  const promises = [];

  promises.push(getSummonerInfo());

  promises.push(getMatchInfo());

  promises.push(getChampionInfo());

  promises.push(getItemInfo());

  //Promise.All실행. 순서보장 안함 result에 리턴값이 담겨져있음

  const result = await Promise.all(promises);

}

 

const samleF3 = async function() {

  const promises = [];

  let summonerjson;

  let matchjson;

  let championjson;

  let itemjson;

  promises.push(getSummonerInfo().then(result => summonerjson = result ));

  promises.push(getMatchInfo().then(result => matchjson = result ));

  promises.push(getChampionInfo().then(result => championjson = result ));

  promises.push(getItemInfo().then(result => itemjson = result ));

  //Promise리스트들을 순차실행

  await promises.reduce(async (prevProm, postProm) => {

    await prevProm;

    await postProm;

  }, Promise.resolve());

}

1
2020.04.02
@안드로이드박사

와 감사감사

바꿔봐야지

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180493 [잡담] 부모님이 의존성 패키지 관리 안하고 낳아주신듯 69746974 0 2 분 전 2
180492 [컴퓨터] 프레임 고정하는 이유가 뭔가요? 1 우루루옳지 0 26 분 전 22
180491 [모바일] 통신사에 공유기 교체해달라하면 해주나? 3 뱅갈고양이육성중 0 46 분 전 40
180490 [모바일] 중고폰 선택장애 도와주세요 1 호래빙 0 50 분 전 22
180489 [컴퓨터] 캐붕이 컴퓨터 어떠냐 6 Benetton 0 2 시간 전 66
180488 [컴퓨터] 형들 컴퓨터 파워가 문제일 가능성이 있을까요? 5 부터시작하는이세... 0 2 시간 전 54
180487 [컴퓨터] 윈도우 ㅅㅂ 왜이러냐 바이러스 관련 업데이트 7 정병장기입원 0 9 시간 전 164
180486 [컴퓨터] 컴맹 데스크탑 견적하고 몇 가지 질문들 가능합니까? 10 Cat드립미어캣 0 9 시간 전 76
180485 [컴퓨터] SSD 파티션 쪼갰던거 하나로 합치는거 가능함? 4 기초플러스 0 11 시간 전 193
180484 [잡담] AR글래스 함 사봤음 (엔리얼 라이트) 8 빠빠양 3 13 시간 전 235
180483 [컴퓨터] 천마넌짜리 큰놈왔다 6 ᅠᅟᅠᅟᅟᅠᅟᅠ 1 14 시간 전 391
180482 [모바일] 폰에서 이런게 가능할줄 누가 상상했을까 1 Benetton 0 14 시간 전 235
180481 [잡담] 도킹스테이션사기 vs 스팀덱 사기 7 흑흑흑흑흙 0 15 시간 전 164
180480 [정보] 질문)갤탭s9울트라 샀는데 화면에 물결무늬 생겨요 불량 의심... 1 말이야방구야 0 15 시간 전 112
180479 [컴퓨터] 윈도우 정품 인증 질문 7 우루루옳지 0 15 시간 전 112
180478 [견적] 듀얼모니터 구성 하려는데 FHD vs QHD 뭐가 좋을까? 6 부산우유리 0 16 시간 전 98
180477 [컴퓨터] 긱바 보드 쿨러설정 영 별루네 1 베데엔차 0 16 시간 전 41
180476 [잡담] 고사양 컴퓨터 사서 옛날게임하는.eu 오브 1 17 시간 전 174
180475 [견적] 컴맹) 컴퓨터 업글하려는데 다나와에서 사면되지? 3 착한댓글달자 0 17 시간 전 88
180474 [견적] 컴퓨터 사양좀 올릴라는데 5 악플러보면고백박는놈 0 17 시간 전 100