我正在尝试发出http get请求,但代码直接转到.then((,并且在完成Angular部分后,它进入后端。我做错了什么?这是我的服务:
angular.module('project').factory('ConversationService', function($http, $q){
var 工厂 = {}; 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;
}(;
>.then
是一个承诺结构,在这种情况下,只有当$http.get(url)
返回一个承诺时,它才会异步调用,最终成为解析。由于您似乎正在获得同步行为,因此我猜它不会返回承诺。
在这种情况下,您应该使用.success
的正常$http.get(url)
异步响应函数