gpt4 book ai didi

javascript - 无法(仅)访问对象的某些属性 (JavaScript)

转载 作者:行者123 更新时间:2023-12-03 05:00:20 24 4
gpt4 key购买 nike

我正在使用 firebase/AngularJS,但我认为这是一个简单的 JavaScript 对象结构问题。

使用 firebase 手动登录 Facebook,我无法从 signInWithCredential 进程访问“结果”对象内的 4 个特定属性。

(控制台)记录“结果”对象,4 个变量确实在那里,我只是无法直接访问它们。

但是,我可以访问该对象的所有其他属性,这将其变成一个非常奇怪的错误。

这是代码:

firebase.auth().signInWithCredential(credential).then(function(result){

// $localStorage.firebaseToken = result.providerData.stsTokenManager.accessToken;


var chatUserData = {};
var updates = {};


console.log("result str obj : " + JSON.stringify(result)); // defined

console.log("result str > uid is " + JSON.stringify(result.uid)); // defined
console.log("result str > displayName is " + JSON.stringify(result.displayName)); // defined
console.log("result str > photoURL is " + JSON.stringify(result.photoURL)); // defined
console.log("result str > email is " + JSON.stringify(result.email)); // defined
console.log("result str > emailVerified is " + JSON.stringify(result.emailVerified)); // defined
console.log("result str > isAnonymous is " + JSON.stringify(result.isAnonymous)); // defined

console.log("result str Provider Data " + JSON.stringify(result.providerData)); // array of objects - defined

console.log("result str > apiKey is " + JSON.stringify(result.apiKey)); // gets undefined
console.log("result str > appName is " + JSON.stringify(result.appName)); // gets undefined
console.log("result str > authDomain is " + JSON.stringify(result.authDomain)); // gets undefined
console.log("result str > stsTokenManager is " + JSON.stringify(result.stsTokenManager)); // gets undefined


chatUserData.username = result.displayName;
chatUserData.email = $localStorage.fb_data.data.email;
chatUserData.id = result.uid;

updates['/users/' + result.uid + "/"] = chatUserData;
firebase.database().ref().update(updates);

}).catch(function(error) {
console.log("Error! " + JSON.stringify(error));
});

这是控制台日志中的目标代码:

result_object

这使得这成为一个奇怪的错误,因为我知道该对象在那里,并且据说我正在正确访问它,但它只是没有加载。这通常只是我犯的一个愚蠢的错误,但我似乎找不到它。

(我的 Facebook 个人资料是假的)

希望大家能帮忙,干杯。

最佳答案

我修复了这个问题,事实证明这是一种 firebase 管理的对象,正确循环它的方法是使用 angular.foreach。即使这种方式也不是正确的。

我应该使用 user.getToken(),并且我在文档中找到了它。

Firebase User Get Token

关于javascript - 无法(仅)访问对象的某些属性 (JavaScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42256443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com