2016-09-11 2 views
0

HTTP 요청을 통해 뭔가를 반환 구문 분석 서버에서 클라우드 기능을 만드는 방법 :나는 구문 분석에서 다음을 수행하려고 해요

는 HTTP 요청 및 클라우드 기능은 다음이를 반환를 호출하는 클라우드 기능을 만들기를 HTTP 요청의 응답,이 방법으로 오류가 발생하는 올바른 방법은 무엇입니까, 나는 잘못된 방식으로 약속 개념을 사용하고 있다고 생각합니다.

Parse.Cloud.define('test_function', function(req, res){ 
 
    var myData = {} 
 

 
    Parse.Cloud.httpRequest({ 
 
     method: 'POST', 
 
     url: 'http://dummyurl', 
 
     headers: { 
 
     'Content-Type': 'application/json;charset=utf-8' 
 
     }, 
 
     body: { 
 
     some_data : "test_data" 
 
     } 
 
    }).then(function(httpResponse) { 
 
     console.log(httpResponse.text); 
 
     myData = httpResponse.data; 
 

 
    }, function(httpResponse) { 
 
     console.error('Request failed with ' + httpResponse.status); 
 
     res.error("Request failed"); 
 
    }); 
 
    
 

 
res.success(myData); 
 
});

+0

나는 약속에 res.success() 줄을 추가해야한다고 생각한다. 왜냐하면 현재 코드가 http가 반환하기 전에 함수를 끝내기 때문에 ... –

답변

2

당신이 JSON 데이터를 반환하기 때문에 당신은 단순히 당신의 블록이 실행 된 당신은 그래서 그것을 실행하지 못했습니다 후 후 response.success를 호출해야 object.Also 응답에 보낼 수 있습니다 귀하의 경우 코드는 다음과 같아야합니다

Parse.Cloud.define('test_function', function(req, res) { 
 
    var myData = {} 
 

 
    Parse.Cloud.httpRequest({ 
 
    method: 'POST', 
 
    url: 'http://dummyurl', 
 
    headers: { 
 
     'Content-Type': 'application/json;charset=utf-8' 
 
    }, 
 
    body: { 
 
     some_data: "test_data" 
 
    } 
 
    }).then(function(httpResponse) { 
 
    console.log(httpResponse.text); 
 
    myData = httpResponse.data; 
 
    res.success(myData); // this should be called in here! 
 

 
    }, function(httpResponse) { 
 
    console.error('Request failed with ' + httpResponse.status); 
 
    res.error("Request failed"); 
 
    }); 
 

 

 

 
});

관련 문제