넥사14 환경이라 settimeout,promise,async await, 화살표함수 이런거 하나도안먹어..
내가 만드려는 로직이
n개의 그룹에 속한 인원들을 조회하여 중복된 인원이 있는지 없는지 조회하는 간단한로직인데,,,
문제는 그룹n개를 한번씩 따로 조회해서 처리해야댐..
그래서 짠 코드가
var group = new Array(); 해서 n개의 그룹을 배열에담고,
for (i=0; i<group.length; i++)
retv(group[i]);
retv() 라는 조회함수로 각각의 그룹인원을 조회시켜
retv()는 콜백이 있는함수라서 조회한뒤 콜백을타는데
이때 맴버변수로 arr 배열하나 선언하고
callback(){
arr.push(조회내용);
}
이렇게 배열에 담음
그뒤엔 for문 2번돌려서 배열에 중복값 찾아서 있으면 false리턴하는? 생각보다 쉬운데
이때 저 중복체크하는함수를 자꾸 먼저 실행해서 그냥 true로 처리해버림..
chk = function() {
var group = new Array();
for (i=0; i<group.length; i++){
retv(group[i]);
}
alert();
chk1(arr);
}
이렇게 중복체크하는함수 실행하기전에 alert();치면 시간이 벌려서 잘 처리되는데,
안하면 그냥 무조건 통과해버려.. 배열길이자체를 0으로받아..
한번에 조회하면 그냥 어떻게 꾸역꾸역 만들겟는데
하나하나 조회해서 콜백으로 배열에담아서, 그다음에 체크로직을타야대니까 이부분처리가 너무어려움 ㅠㅠ...
다른분들도 많이도와줬는데, 넥사14환경에선 어림없지 다막혀버림 ..
진짜 이럴땐 어떻게 처리해야 현명할까.. 이틀째 쥐어짜고있는데 생각이안나 ㅠㅠ
콜 백 지 옥
지옥이라도 일단 되기만하게 하고싶은데 조회를 하나하나해서 콜백으로 가져오니까 여기서부터 머리가 멍해져.. 어떻게 건들어야 댈지모르겠어
retv가 콜백이 있는거라며 그럼 위 코드에서 retv(group[i], function(resultData){ }) 이렇게 해야되는거 아니야?
정확히는 넥사크로라서 transaction 함수로 조회를해 retv(){ 파라미터 설정 this.transaction(param,'콜백함수이름','콜백이름',~,~) } retv내용은 이런식으로 만들어져있꼬 콜백부분은
callback(){ switch(콜백이름) case "" 내용 break; ... } 이렇게 정의대있어 이부분은 회사 형식이라서 내가 뭘 건들수있는게없네..
넥사크로를 안 써봐서 모르겠네 그럼 console.log( retv(group[]) ) 하면 찍혀?
나는 저기 콜백함수에 콜백이름으로 받는부분에 arr.push(조회내용) 이렇게 담았어 이렇게 쓰려고 arr을 전역변수로 설정했구,,
퇴근해서 확인할수가없는데.. 아마 안찍힐거같아.. 그렇게는 내일 확인해볼게 ㅠㅠ..
bluebird나 polyfill 플러그인 못씀?
내가알기론 플러그인 하나도 안쓰는걸로 알고잇어...