javascript - Angularfire $loaded().then(从这里返回一些东西)

标签 javascript angularjs firebase angularfire

我进行了搜索和实验,但似乎没有什么能按照我想要的方式工作。如果有人有任何建议,请发表任何想法。

这就是我想要的工作方式。

var myfunc = function(args) {
  var result = null;
  result = __myservice.$loaded().then(function(data) {
    return data;
  });

  return result;
}

每次都会返回 NULL,如果有人知道如何执行此操作,请告诉我。

编辑:(添加服务/工厂代码)

这是使用 AngularFire Seed 仅供引用,大部分代码未更改,因此 fbutil 是来自 AngularSeed 的,我相信它也内置了 Auth。

app.factory('circlesList', ['fbutil', '$firebaseArray', function(fbutil,  $firebaseArray) {
  var ref = fbutil.ref('circles');
  return $firebaseArray(ref);
}]);

最佳答案

数据是异步加载(和同步)的。您正在尝试的是规避现代网络的异步特性。但不幸的是,您现在无法返回尚未从服务器返回的内容。

请参阅此引用问题以获得详细解释:How do I return the response from an asynchronous call?

您可以返回 $loaded() promise ,它允许调用函数执行 then() 部分。

请注意,$loaded() 可能仅在初始数据加载时触发。当您使用 Firebase 时,最好放弃这种请求/响应心态,而是用“每当数据发生变化时,我想做 ABC”来重新表述您的目标。

关于javascript - Angularfire $loaded().then(从这里返回一些东西),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33675288/

相关文章:

android - 使用 getValue() 从 DataSnapshot 解析到 Firebase 中的 Java 类

javascript - Twitter Bootstrap 日期时间选择器未在模式中正确显示

Javascript - 完成 JQuery 函数后未定义函数(但确实如此!)

javascript - 日期转换在 JavaScript 中返回旧日期

angularjs - 将 $scope 变量传递给 AngularJS 中的函数

javascript - 功能问题

firebase - 查询需要索引,但我已经创建了索引

javascript - 如何将标签的innerHTML渲染为嵌套HTML

javascript - AngularJS 不打印变量

firebase - Firebase 安全规则中的临时变量