에 inisde 루프 찾기 기능의 실행 뒤에 논리를 설명하는 것은 코드입니다구문 분석
기본적으로function f1() {
for (var i = 0; i < arr.length; i++) {
var query = new Parse.Query("Group");
query.equalTo("parent", arr[i]);
var position = pos[i];
alert("pos[i] = " + pos[i] + " position = " + position);
query.find({
success: function(users) {
if (users.length === 0) {
alert("in if");
} else {
alert("in else");
}
}
});
}
}
, 그룹은 구문 분석 클래스는, 도착은 클래스 Parse.User의 객체를 포함하고 POS 배열입니다 정수를 저장합니다. 이제는 8, 15 및 arr에 두 개의 값을 포함하고 i = 0 users.length! = 0 및 i = 1, users.length = 0에 대해 두 개의 정수가 포함됩니다. 기본적으로이 함수가 output
pos[i] = 8 position = 8
in else
pos[i] = 15 position = 15
in if
그러나 actaully,이 얻을 : : 난입니다 원하는
pos[i] = 8 position = 8
pos[i] = 15 position = 15 // I don't know why i am getting this, it is irritating me
in else
pos[i] = 15 position = 15
in if
인터넷과 Google에서이 문제에 관해 검색했지만 더 나은 해결책을 찾을 수 없습니다. 원하는 출력을 얻는 방법은?
파스 APi 호출은 비동기입니다. 데이터가 반환되기 전에 루프가 완료됩니다. 정확히 그 문제가 무엇인지 명확히 밝히지 않았다. – charlietfl
나는 게시물을 편집했다. 기본적으로 내가하고 싶은 것은 모든 사용자를 반복 한 다음 부모 (포인터)가이 사용자를 가리키고 인쇄하는 것이다. 그 그룹 개체의 이름 필드를 콘솔 그래서 내가 찾은 내에서 찾을을 사용했다 –
당신이 뭘하려고하는지 전혀 모르십시오. 경고가 예상 된 순서대로 실행됩니다.이러한 종류의 디버깅에는 경고를 사용하지 마십시오. 콘솔 – charlietfl