0

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

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

变量工厂 = {}; 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;

});

4

1 回答 1

0

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

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

于 2018-01-29T15:59:08.467 回答