我的$ firebase $ loaded服务中的诺言有什么问题?

抛光

我正在学习AngularJS和Firebase,并使用AngularFire 0.8.2(我知道是旧的)。我想要一个函数(getAccount)从Firebase返回与initAccount相同的数组。firebase URL有效,但是我不知道如何使函数返回数组。任何帮助,将不胜感激 :)

app.service('DataService', function(FURL, $firebase) {

var ref = new Firebase(FURL);

//initial account array to load
this.account = [
  {'info':'Sig1'},
  {'info':'Sig2'},
  {'info':'Sig3'}
];

this.getAccount = function(user) {
    var uid = user.uid;
    var dir = 'profile/' + uid + '/account';

    var accountSigs = $firebase(ref.child(dir)).$asArray().$loaded().then(function(response) {

      //show response returns [[object Object],[object Object],[object Object]] with correct data as it should.
      console.log('show response: [' + response + ']');

      return response;
    });

    // this returns [[object Object]] but I don't know why
    console.log('show accountSigs: [' + accountSigs + ']');

    return accountSigs;
};

});

黑us

您可以使用$q服务使您的函数返回承诺。这是你的代码

app.service('DataService', function (FURL, $firebase, $q) {

    var ref = new Firebase(FURL);

    //initial account array to load
    this.account = [
        {'info': 'Sig1'},
        {'info': 'Sig2'},
        {'info': 'Sig3'}
    ];

    this.getAccount = function (user) {
        var uid = user.uid;
        var dir = 'profile/' + uid + '/account';
        var defered = $q.defer();

        var accountSigs = $firebase(ref.child(dir)).$asArray().$loaded().then(function (response) {
            console.log('show response: [' + response + ']');
            defered.resolve(response);
        });

        return defered.promise;
    };
});

要使用它,只需调用函数,然后使用then()方法处理数据

app.controller('MyController', function(DataService) {
    DataService.getAccount().then(function (data) {

        //Data will contain what is passed as parameter to defered.resolve()
        console.log(data); 
    });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我的$ firebase $ loaded服务中的诺言有什么问题?

来自分类Dev

我没有收到 Firebase 通知。我的代码可能有什么问题?

来自分类Dev

我登录Firebase时出了什么问题

来自分类Dev

我的文件上传到Android中的php服务器有什么问题?

来自分类Dev

我在Java迭代器中的代码有什么问题

来自分类Dev

我的ArrayList中的.add有什么问题?

来自分类Dev

我在Linux中的qsort有什么问题?

来自分类Dev

Flutter中我的InitState有什么问题?

来自分类Dev

我在Google表格中的查询Importrange有什么问题?

来自分类Dev

我的批处理脚本中的循环有什么问题?

来自分类Dev

我在C ++中的代码有什么问题?

来自分类Dev

JSP中的if..else .. 我的代码有什么问题?

来自分类Dev

我在oracle中的sql有什么问题?

来自分类Dev

我在Linux中的qsort有什么问题?

来自分类Dev

Scala代码中我的foreach有什么问题

来自分类Dev

在我的例子中 for() 循环有什么问题?

来自分类Dev

我在 python 中的代码有什么问题?

来自分类Dev

我的代码中的 async/await 有什么问题吗

来自分类Dev

我在 Django 模板中嵌套的 for 循环有什么问题?

来自分类Dev

我的 swarmplot 中的色调有什么问题?

来自分类Dev

我正在尝试使用 android studio 将图像上传到 firebase 但它不起作用,我的代码有什么问题?

来自分类Dev

我简单的MSIL有什么问题?

来自分类Dev

我的requirejs设置有什么问题?

来自分类Dev

我的JavaScript范围有什么问题?

来自分类Dev

我的背包有什么问题吗

来自分类Dev

我的execvp使用有什么问题?

来自分类Dev

我的迭代函数有什么问题

来自分类Dev

我的DateFormatting有什么问题?

来自分类Dev

我的插入方法有什么问题?

Related 相关文章

热门标签

归档