Angular 1 $http 不等待响应
Angular 1 $http does not wait for response
我正在尝试发出 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
是一个 promise 构造,在这种情况下,它只会在 $http.get(url)
returns 一个 promise 最终被解决时被异步调用。由于您似乎正在获得同步行为,所以我猜它没有返回承诺。
在这种情况下,您应该使用 .success
的正常 $http.get(url)
异步响应功能
我正在尝试发出 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
是一个 promise 构造,在这种情况下,它只会在 $http.get(url)
returns 一个 promise 最终被解决时被异步调用。由于您似乎正在获得同步行为,所以我猜它没有返回承诺。
在这种情况下,您应该使用 .success
$http.get(url)
异步响应功能