Angular 1 $ http不等待响应

时间:2018-01-29 11:12:40

标签: http callback angular1.6

我正在尝试创建一个http get请求,但代码直接转到.then(),在完成Angular部分后,它会转到后端。我做错了什么? 这是我的服务:

angular.module('project').factory('ConversationService',  function($http, $q){

var factory = {};     factory.fazConversa = fazConversa;

function fazConversa(params){
    let url =  `/conversation?text=${params.mensagem}&context=${params.context}`;
         let data = {
             text: params.mensagem,
             context: params.context
         }
         $http.get(url).then(function(resposta){
            console.log(resposta);
            resolve(resposta);
         });
}

return factory;

});

1 个答案:

答案 0 :(得分:0)

.then是一个promise构造,在这种情况下,只有$http.get(url)返回一个最终会被解析的promise,它才会被异步调用。当你似乎得到同步行为时,我猜它不会返回一个承诺。

在这种情况下,您应该使用$http.get(url)的正常.success异步响应函数