我是Angular的新手,我想分享我的问题,以防万一有人可以帮助我或指导我 找出最佳解决方案。
如何通过服务或工厂在不同控制器之间共享来自承诺的检索数据(只能调用一次)?
我想我应该避免,如果有可能发出或广播更多,超时或类似
无论如何,我确信它必须存在一种模式来正确地执行此操作
service('Service', function(...) {
function ----------(....) {
return myasyncfunction('..............')
.then(function(data) {
return data;
});
}
function getSomething {
return some operation with DATA;
}
return {
getSomething: getSomething
}
}
.controller('CtrlA', function (...) {
Service.getSomething ---> Doesn't work if don't put a delay
}
.controller('CtrlB', function (...) {
}
我的代码总是依赖于我在开始时需要一个promises来检索数据的事实。我没有 知道创建一个我不需要手表,超时或发射/广播的架构的正确方法。上。 我怀疑有可能以另一种方式做事
承诺应该只被调用一次
提前谢谢
答案 0 :(得分:0)
我还应该使用服务返回的承诺(在你的控制器内).then,如: - :
Service.getSomething.then(function(result){
//your promise resolve code
},function(error){
//your promise reject code
})