下面我从api获取信息。在控制台中,当我返回无法进入服务的iteminfo数据时,我得到了数据。
这是我的工厂代码
factmodule.factory("OrderFactory", function() {
var iteminfo;
var Iteminforesource = $resource("http://demo.foodzard.in/api/menu");
return {
Iteminforesource.get(function(data) {
iteminfo = data.message;
console.log("this is menu " + iteminfo)
}, function(d, s) {
console.log("Error*** " + s)
})
return iteminfo;
}
})
这是我的服务代码。 在控制台数据中显示未定义的
servctrl.service("OrderService", function(OrderFactory) {
this.getAllInfoItem = function() {
return OrderFactory.Iteminforesource();
console.log(OrderFactory.Iteminforesource());
}
})
请ple hlep我
答案 0 :(得分:1)
您可以阅读promise
个对象here或Angular特定here。
factmodule.factory("OrderFactory", function() {
var Iteminforesource = $resource("http://demo.foodzard.in/api/menu");
return {
// return promise object
iteminfo:function{
return Iteminforesource.get().$promise.then(function(data) {
// promise will resolved with data.message
return data.message;
});
}
}
})
servctrl.service("OrderService", function(OrderFactory) {
this.getAllInfoItem = function() {
// this service also will return promise
return OrderFactory.iteminfo();
}
})
// in controllers getAllInfoItem must be used like this
orderService.getAllInfoItem().then(function(message) {
console.log(message);
})