我正在尝试创建一个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;
});
答案 0 :(得分:0)
.then
是一个promise构造,在这种情况下,只有$http.get(url)
返回一个最终会被解析的promise,它才会被异步调用。当你似乎得到同步行为时,我猜它不会返回一个承诺。
在这种情况下,您应该使用$http.get(url)
的正常.success
异步响应函数