gpt4 book ai didi

firebase - Firebase函数返回了未定义,预期的Promise或值,但该函数有效

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

嗨,我有一个有效的函数,但给我一个错误,返回的函数未定义,期望的Promise或中间值。我不懂为什么。该功能虽然有效。
请帮忙
提前致谢..
enter image description here
这是功能

'use-strict'

const functions = require("firebase-functions");
const admin = require("firebase-admin");
const firebase = admin.initializeApp();

exports.deleteFriendChatMessagesImageFolder =
functions.database.ref('/messagesFriends/{userId}/{friendId}')
.onDelete((snap, context) => {

const userId = context.params.userId;
const friendId = context.params.friendId;

const bucket = firebase.storage().bucket();

console.log(userId + ' ' + friendId + " found")

return bucket.deleteFiles({
prefix: `messages_image_from_friends/`+userId+`/`+friendId
}, function(err) {
if (err) {
console.log(`messages_image_from_friends/`+userId+`/`+friendId + ` remove error`);
} else {
console.log(`messages_image_from_friends/`+userId+`/`+friendId + ` removed`);
}
});

});
我应该在哪里 promise 使错误消失。功能再次起作用!所以我很困惑。

最佳答案

提供回调到deleteFiles时,它不返回任何内容(source)。
这是JS API的常见模式:使用回调或返回 promise 。
您可以通过以下方式修改代码以使用Promise:

 return bucket.deleteFiles({
prefix: `messages_image_from_friends/`+userId+`/`+friendId
})
.then(() => {
console.log(`messages_image_from_friends/`+userId+`/`+friendId + ` removed`)
})
.catch((err) => {
console.log(`messages_image_from_friends/`+userId+`/`+friendId + ` remove error`)
});
了解 promise 的一个好地方是 here

关于firebase - Firebase函数返回了未定义,预期的Promise或值,但该函数有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63952512/

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