[英]Unable to return value from factory to service angularJS
我的工廠代碼
.factory('appData', ['connectionManager', function($connectionManager) {
return {
getAppDataItem: function(apiName, params) {
console.log('Getting value...');
$connectionManager.sendRequest({
'apiName': apiName,
'params':{
'@key': "'" + params['@key'] + "'"
}
}).then(function(res){
console.log('Retrieved data ', res.data);
return res.data;
});
}
}
}]);
我的服務代碼
var x = appData.getAppDataItem('getItemFromAppData', {
'@key': 'last_emp_id'
});
console.log(x);
我想將工廠中.then()
返回的值分配給服務中的var x
。 但是我做不到。 請幫我。 我正在獲得.then()
價值。 之后,我無法將其傳遞給服務。
getAppDataItem
函數需要返回一個getAppDataItem
:
.factory('appData', ['connectionManager', function($connectionManager) {
return {
getAppDataItem: function(apiName, params) {
console.log('Getting value...');
//$connectionManager.sendRequest({
//return promise
return $connectionManager.sendRequest({
'apiName': apiName,
'params':{
'@key': "'" + params['@key'] + "'"
}
}).then(function(res){
console.log('Retrieved data ', res.data);
return res.data;
});
}
}
}]);
客戶端代碼應使用promise的.then
方法訪問數據。
var promise = appData.getAppDataItem('getItemFromAppData', {
'@key': 'last_emp_id'
});
promise.then( function (x) {
console.log(x);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.