我有一個函數在下面,我設置了函數外的用戶名,但是我可以在裏面獲得值但不在外面。這是爲什麼?示例如下所示。我想這樣它返回的值即使我初始化函數以外的變量,也不打印值
var username
Auth.loggedInUser().then(function (user){
username = user.username
console.log(username) <--- this will print the username
});
console.log(username) <--- this will print undefined
另外,如果我嘗試下面則返回控制檯中的承諾,心不是隻是用戶名
var username = Auth.loggedInUser().then(function (user){
return user.username
});
console.log(username) <--- this will Promise {$$state: Object}$$state: Object__proto__: Object
我怎麼能去外面打印或叫它關於剛調用它時獲取原始用戶名?
異步調用之外的'console.log(用戶名)'在異步調用完成之前正在運行。 –
不可能。基本上你可以點一份披薩,然後你掛斷電話,然後你就可以吃了。 – epascarello
明白了,即時通訊不知道實現這一目標所需的代碼,即時通訊掙扎,我明白了,但也許我不清楚。 –