Parse User Class를 쿼리하려고하는데 결과가 없습니다. User 클래스에는 "phone"이라고 표시된 열이 있으며 각 사전에 전화 번호 배열에 해당하는 "phone_numbers"키가있는 사전 배열을 전달합니다. 내 테이블의 사용자에게 해당 전화 번호 중 하나가 있는지 확인하려고합니다. 코드를 실행하는 데 오류가 발생하지 않지만 일치하는 전화 번호가있는 테이블에 사용자가 존재합니다. 내가 도대체 뭘 잘못하고있는 겁니까? 이 전화에서Parse Cloud Code - 사용자 클래스를 쿼리하는 방법
Parse.Cloud.define("hasApp", function(request, response) {
var dict = request.params.contacts;
var num = 0;
var found = 0;
var error = 0;
var phoneNumbers = "";
for (var i = 0; i < dict.length; i++){
var result = dict[i].phone_numbers;
num += result.length;
for (var j = 0; j < result.length; j++){
phoneNumbers += result[j] + ", ";
var query = new Parse.Query(Parse.User);
query.equalTo("phone", result[j]);
query.find({
success: function(results) {
found = 1;
},
error: function() {
error = 1;
}
});
}
}
response.success("hasApp " + dict.length + " numbers " + num + " found " + found + " error " + error + " phoneNumbers " + phoneNumbers);
});
내 반응은 그 전화 번호의 일부는 내 사용자 클래스에 표시
hasApp 337 numbers 352 found 0 error 0 phoneNumbers "list of phone numbers"
입니다. 지금까지 내가 오류를받지 못했습니다하지만 나는 또한 성공적으로 사용자 테이블
UPDATE 질의 아니에요 말할 수
성공 블록의 몸에
response.success("hasApp " + dict.length + " numbers " + num + " found " + found + " error " + error + " phoneNumbers " + phoneNumbers);
를 이동 한 후, 나는 클라우드 함수 당 한 번만 response.success를 호출 할 수 있기 때문에 다음과 같은 오류가 발생합니다.
Error Domain=Parse Code=141 "The operation couldn’t be completed. (Parse error 141.)"
UserInfo=0x14d035e0 {code=141, error=Error: Can't call success/error multiple times
at Object.success (<anonymous>:99:13)
at query.find.success (main.js:44:12)
at Parse.js:2:5786
at r (Parse.js:2:4981)
at Parse.js:2:4531
at Array.forEach (native)
at Object.w.each.w.forEach [as _arrayEach] (Parse.js:1:666)
at n.extend.resolve (Parse.js:2:4482)
at r (Parse.js:2:5117)
at Parse.js:2:4531}
한 번에 하나의 전화 번호 만 확인할 수 있다는 의미입니까? 따라서 전화 번호 배열을 전달할 수 없으며 해당 전화 번호에 해당하는 PFUser 개체를 가져올 수 없습니다 (존재한다면).
Parse.User에 대한 내부 쿼리가 내 "hasApp"호출과 동 기적으로 발생한다는 것을 알고 있으므로 Parse.User를 비동기 적으로 쿼리하는 방법이 있습니까? 그렇게하면 모든 전화 번호를 확인한 후 클라이언트에게 응답 할 수 있습니까?
내 쿼리의 성공 블록으로 해당 라인을 이동하면 오류가 발생합니다. 모든 전화 번호를 확인하기 전까지 응답을 연기 할 수 있습니까? – josealvarado111
질문을 최신 코드로 업데이트 할 수 있습니까? 현재 실행중인 시도를 두 번 시도해보기가 어렵습니다. – BHendricks