Я пытаюсь использовать обещание вернуть объект к переменной данных, определенной в приведенной ниже функции. Он отлично работает, если я использую обещание в контроллере и делаю res = до $ scope.data, но чем больше я об этом подумал, тем больше не обязательно иметь эту информацию в $ scope, так как идентификатор/идентификатор сеанса пользователя не должен изменение.Можете ли вы использовать обещание .then() внутри Угловой фабрики?
(function(){
'use strict';
angular.module('csMgmtApp')
.factory('agentFactory', ['$http', function($http){
//other variables set successfully by another method
var data = {},
result = {},
access_token = result.access_token,
baseURIc = result.resource_server_base_uri;
function startSession(startSessionPayload){
var startSessionPayload = startSessionPayload,
access_token = result.access_token,
baseURIc = result.resource_server_base_uri;
return $http({
'url': baseURIc + 'services/v6.0/agent-sessions',
'method': 'POST',
'headers': {'Authorization': 'bearer ' + access_token, 'content-Type': 'application/json'},
'data': startSessionPayload
}).then(function(res){
res = data;
console.log("sessionId", res);
});
}
return {startSession:startSession};
}]);
})();
Проблема, заключается в том, что при попытке этого на заводе res удаляется как пустой объект. Является ли то, что я пытаюсь сделать возможным/разумным?
ugh .. Вы. Находятся. Правильно. d'о. спасибо. – someoneHere