无法读取属性';然后';未定义JavaScript承诺的
我知道乍一看,这可能看起来像一个重复,但我已经看到了所有的答案,告诉我把回报,但这是不起作用的 这是我的职责:无法读取属性';然后';未定义JavaScript承诺的,javascript,promise,return,undefined,Javascript,Promise,Return,Undefined,我知道乍一看,这可能看起来像一个重复,但我已经看到了所有的答案,告诉我把回报,但这是不起作用的 这是我的职责: function removePastUsersFromArray(){ pullAllUsersFromDB().then(function(users_array){ var cookie_value = document.cookie.split('=') [1]; const promises = [] for (var i = 0; i < _USE
function removePastUsersFromArray(){
pullAllUsersFromDB().then(function(users_array){
var cookie_value = document.cookie.split('=') [1];
const promises = []
for (var i = 0; i < _USERS.length; i++) {
if (_USERS[i].useruid == cookie_value){
var logged_in_user = _USERS[i].useruid;
promises.push(
onChildValue(rootRef, 'users/' + logged_in_user + '/disliked_users/').then(formatUsers)
)
promises.push(
onChildValue(rootRef, 'users/' + logged_in_user + '/liked_users/').then(formatUsers)
)
}
}
return Promise.all(promises);
})
};
function displayRemovedPastUsersFromArray(){
removePastUsersFromArray().then(function(promises){
基本上说我的removepassusersfromarray
是未定义的。但它并不是因为它明显地存在于上面而回报承诺
基本上说我的removepassusersfromarray
是未定义的
不,它说,removePastUsersFromArray()
调用返回了undefined
,因为这正是您试图调用的,然后调用
它显然存在于上面并回报承诺
它存在,是的,但它不返回任何东西。您拥有的return
位于then
回调中,但函数本身没有return
语句<代码>返回
链接产生的承诺:
function removePastUsersFromArray() {
return pullAllUsersFromDB().then(function(users_array) {
//^^^^^^
var cookie_value = document.cookie.split('=') [1];
const promises = []
for (var i = 0; i < _USERS.length; i++) {
if (_USERS[i].useruid == cookie_value){
var logged_in_user = _USERS[i].useruid;
promises.push(
onChildValue(rootRef, 'users/' + logged_in_user + '/disliked_users/').then(formatUsers)
);
promises.push(
onChildValue(rootRef, 'users/' + logged_in_user + '/liked_users/').then(formatUsers)
);
}
}
return Promise.all(promises);
})
};
函数removepassusersfromarray(){
返回pullAllUsersFromDB().then(函数(用户数组){
//^^^^^^
var cookie_value=document.cookie.split('=')[1];
常量承诺=[]
对于(变量i=0;i<\u USERS.length;i++){
if(_USERS[i].useruid==cookie_值){
var logged\u in\u user=\u USERS[i].useruid;
承诺,推动(
onChildValue(rootRef,'users/'+登录用户+'/不喜欢的用户/')。然后(formatUsers)
);
承诺,推动(
onChildValue(rootRef,'users/'+logged_in_user+'/liked_users/')。然后(formatUsers)
);
}
}
返回承诺。全部(承诺);
})
};
基本上是说我的removePastUsersFromArray是未定义的
-不,这是说FifunctionremovePastUsersFromArray
返回未定义的,它显然是这样做的,因为它根本不返回任何东西try返回pullAllUsersFromDB(……您的其余代码
干杯!