gpt4 book ai didi

javascript - 无法使用 JavaScript promise 读取未定义的属性 'then'

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:07:11 24 4
gpt4 key购买 nike

我明白乍一看这可能看起来像重复的,但我已经看到所有的答案都告诉我要返回,但这是行不通的。

这是我的功能:

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){

基本上是说我的 removePastUsersFromArray 是未定义的。但它不是因为它清楚地存在于上面并返回 promise ??

最佳答案

basically saying that my removePastUsersFromArray is undefined

不,它表示 removePastUsersFromArray() 调用返回了 undefined,因为这就是您要调用的 then

it clearly exists above and returns promises?

它存在,是的,但它不返回任何东西。您拥有的 return 位于 then 回调中,但函数本身没有 return 语句。 返回链接产生的 promise :

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);
})
};

关于javascript - 无法使用 JavaScript promise 读取未定义的属性 'then',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39509589/

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