控制台返回promise对象而不是值

时间:2016-02-24 15:44:38

标签: javascript angularjs angular-promise

我已经阅读了这个问题How to access JSON Object.$$state.value?并且我应用了这个建议,但我仍然有一个promise对象作为控制台的返回。

这是服务中的异步功能:

function getData(myUrl){
    var newref = new Firebase(myUrl);

    return $q(function(resolve, reject){
        newref.once("value", function(snapshot){
            var data = snapshot.val();
            var newUsername = data.username;
            resolve(newUsername);      
        }) 
    });
}

这是服务的回归:

return{
    getUsername: function(){
        var url = userUrl();
        var promise = getData(url);
        return promise.then(function(whatIneed){
            return whatIneed ;
        })  
    }
};

在控制器中我调用“getUsername”:

var user = CommonService.getUsername();
console.log(user);

我在控制台中有这个回复: Console log

我想在promise对象中输入字符串“Damiano”(值)。 为什么我还有一个承诺对象? 代码在哪里错了?

提前致谢

0 个答案:

没有答案