2016-09-11 1 views
0

Я пытаюсь сделать следующее в Parse:Как создать функцию облака в Разборе сервере, который возвращает что-то через запрос 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 можно просто отправить его в ответ object.Also вы должны позвонить response.success после того как ваш блок выполнен и не сразу после его выполнения Так в вашем случае ваш код должен выглядеть следующим образом:

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"); 
 
    }); 
 

 

 

 
});

 Смежные вопросы

  • Нет связанных вопросов^_^