foreach 안에 promise
본문
foreach 안에 비동기 작동을 하는 부분이 있는데요
하나의 작업이 다 끝나면 다음 foreach 로 넘어가게 하고 싶은데 방법을 모르겠습니다 ㅜㅜ
대충 아래와 같이 되어 있는데 어떻게 해야할지...
재귀호출로 해야할까요? 아오 머리야...
foreach(var i in list){
new Promise(function(resolve, reject){
....
resolve();
}).then(function(result){
...
});
}
답변 2
먼저
Promise를 사용하시는 이유가 명확해야 할것 같습니다.
단순히 서버에서 값을 확인하기 위함인지
그리고,
foreach를 사용하는 이유가 무엇인지
왜 멈추어야 하는지
기본적인 로직이 왜 흐름을 중단해야 하는지를 판단해야겠죠
비동기는
흐름은 흐름대로 가고 결과는 결과대로 받겠다라는 기능이니
foreach 에서 제어하고 싶은부분을
비동기의 callback에서 받은결과에 따라 처리하시는게 나을것같습니다.
.then(function(){
// 여기에 구성해보세요
답변을 작성하시기 전에 로그인 해주세요.