angularjs firebase存储getDownloadURL返回undefined但是它存​​在

时间:2016-10-16 16:22:31

标签: javascript angularjs firebase firebase-storage

为什么控制台日志的输出与控制台日志不同?
它们应该都是相同的。
我要找的是获取存储在firebase存储中的文件的URL。

        var url = spaceRef.getDownloadURL()
            .then(function(url){
                //$scope.avatar = url;
                console.log("inside:", url);
                return url;
                //console.log(url);
            })
            .catch(function(error) {
                $scope.errMsg = true;
                $scope.errorMessage = error.message;
            });
        console.log("outside:", url);

1 个答案:

答案 0 :(得分:0)

then是与javascript中的Promise相关的函数。只有在评估了getDownloadURL()之后,才能将输出设置为url变量。因此,只有在评估了promise并且外部记录为undefined或null或empty之后,才会打印内容...它是异步的......所以差异......

Promisthen()