2014-02-12 3 views
0

클라우드 코드가 있습니다 함께 연결하는 데 문제가 있습니다 ... 별도의 응용 프로그램에서 iOS 쪽에서 효과적으로 구문 분석을 활용할 수있었습니다. 나는 기본 JS 기술을 가지고 있으며, 사용자 정의 클라우드 코드를 던져 버리는 것은 나에게 방해가된다. 나는 그들의 문서를 읽고, 다른 예제를 검색했다.parse.com 클라우드 코드, 변수를 볼 구름 코드

첫 번째 함수는 특정 매개 변수를 충족하는 개체를 찾습니다 ... 잘 작동합니다.

Parse.Cloud.job("callClient", function(request, response){ 
    var now = new Date(); 
    var message = Parse.Object.extend("Message"); 
    var query = new Parse.Query(message); 
    query.greaterThan("alertDate", now); 
    query.find({ 
     success: function(results){ 
      for (var i = 0; i < results.length; i++){ 
       var alertDate = results[i].get("alertDate"); // <- for testing, working 
       var toPhone = results[i].get("toPhone"); // <- for testing, working 
       console.log("This is inline- Item number: "+ (i+1) + " Alert date is: " + alertDate + "To Phone: "+ toPhone);  
       var caller = results[i]; 
       Parse.Cloud.run("testCall",function(request, response) { 
       }); // <- will fire with with default info 
      } 
      response.success("function complete"); 
     } 
    }) 
}); 

두 번째 기능은 내가 구름 코드 함수에 객체를 전달할 수 없습니다 깨닫는 Twilio의 또한 잘 작동 구문 분석, 내부 기능 ...

Parse.Cloud.define("testCall", function(request, response) { 
    var client = require('twilio')('Acct SID','Auth Code'); 
    Parse.Cloud.useMasterKey(); 
    client.makeCall({ 
     to:'+17205551212', 
     from:'+17205551213', 
     url:'http://TWIml-File.xml', 
     method:'GET' 
    }, function(err, responseData){ 
     if (err){ 
      response.error("fail"); 
     }else{ 
      response.success("success"); 
     } 
    }); 
}); 

이며,도 전역 변수가 계속 수행 . 그렇다면 "callClient"의 결과를 "testCall"에 표시하려면 어떻게해야합니까?

답변

0

Parse 스태프에 따르면 서로 다른 클라우드 모듈 세션에서 글로벌 상태를 유지 관리 할 수는 없습니다. 비슷한 문제가 발생했으며 팁을 따르기로했습니다.

Parse cloud javascript global variable

+0

앨버트, 나는 그것을 보았습니다. 올바르게 이해한다면 쿼리를 실행하고 개체를 저장 한 다음 해당 개체를 쿼리해야합니다. 그러나 정보가 지속되거나 전달되지 않으면 새로운 객체가 무엇인지 구체적으로 어떻게 알 수 있습니까? 정보를 다시 전달하려면 어떻게해야합니까? 그것은 원형 문제로 보인다. 이 플랫폼을 사용하는 모든 앱을 고려할 때, 나는 뭔가를 놓치고 있어야합니다. 나는 단지 그것에 손가락을 넣을 수 없다. – Lamar

+0

Parse 프로젝트에 클래스를 만들고 필요한 정보를 저장해야한다고 생각합니다. 또는 기존 클래스 (즉, "테이블")에서 필요한 ParseObject를 검색하여 업데이트하고 저장하십시오. 그런 다음 다음 클라우드 코드 세션에서 동일한 ParseObject를 검색하고 마지막 세션 중에 저장된 데이터를 읽습니다. 우리가 약간의 API 요청을 보내야하기 때문에 약간 고통스러운 .... –

0

문제 해결 ...

내가 구름 코드 자체에 너무 많이 의존했다. 필자는 문서에서 해석 한 내용을 토대로 내가하려는 모든 기능에 필 요하다고 생각했습니다.

"testCall"을 클라우드 코드 함수로 사용하지 않고 일반 JS 함수로 만든 다음 다른 요소를 내부에 포함하여 잘 작동합니다.

관련 문제