내 IOS 응용 프로그램의 클라우드 코드 (Parse)를 작업하고 있었는데 업데이트 된 개체를 저장하려고 할 때마다 작동하지 않는 것으로 나타났습니다. 내가 저장 기능을 제거하면 코드가 작동하며 성공 응답을 출력,하지만 난 그것을 유지하는 경우 오류 얻을 : 내가와 관계없이 솔루션의 무리를 시도했습니다구문 분석 코드 저장 안 함.
Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}
을 그들은 무엇입니까, 위의 오류 메시지가 여전히 코드에서 저장 함수가있는 경우 X 코드 디버거에서 인쇄됩니다.
Parse.Cloud.define("removeFriend", function(request, response) {
Parse.Cloud.useMasterKey();
var userObjId = request.params.userObjId;
var currentUser = request.params.currentUser;
var query = new Parse.Query(Parse.User);
query.equalTo("objectId", userObjId);
//query.include('Friends');
query.find({
success: function(results){
var friendsArray = (results[0].get("Friends"));
var newFriends = friendsArray.filter(function(x) {return x != currentUser});
results[0].set("Friends", newFriends);
results[0].save();
response.success("THIS IS RESULT" + results[0].get("Friends"));
},
error: function(){
response.error("The user was not successfully removed.");
}
});
});
(나는 같은 오류 이전에 비슷한 질문을 만들었지 만 내가 원하는하지 않았다, 그래서 그 이후로 코드를 다시 실행 한 :
(다음은 성공 응답을 인쇄하지 않는 경우)이 코드입니다 두 질문을 섞어 라.)
감사합니다. 문제가 해결되어 실제로 문제가 실제로 발생했는지 이해할 수있었습니다. – Gabe
문제 없습니다. 내가 버린 중요한 부분 - 비동기/별도의 스레드 자체에서 실행하는 것은 문제가 아니지만 다른 스레드에서 실행되는 함수는 서버 호출이므로 완료하는 데 시간이 걸립니다. 서버가 거의 즉시 응답 호출을 수신하므로 비동기 작업을 완료 할 시간이 없습니다. http 요청, 가져 오기, 쿼리, 소멸 및 다른 클라우드 기능 호출과 동일한 문제가 발생합니다. –
Parse.Cloud.useMasterKey(); 구문 분석 서버 버전 2.3.0 (2016 년 12 월 7 일)에서 더 이상 사용되지 않습니다. 그 버전부터는 아무 것도하지 않습니다 (아무 것도하지 않습니다). 이제 코드에서 ACL 또는 CLP를 재정의해야하는 각 메소드에 {useMasterKey : true} 선택적 매개 변수를 삽입해야합니다. – alvaro