Firebase Functions TypeScript 管理 DataSnapshot 时出现问题。 "Property does not exists on type 'never'"



我正在使用Firebase创建一个云函数来搜索"等候房间",因为我使用"limitToLast"只获取"房间"节点上的最后一个子节点,所以我必须循环浏览快照子节点,以获取我想要的房间的数据快照(我不知道是否有更好的方法,但以前效果很好(,问题是,在分配了"forEach"中的"waitingRoomData"后,我需要检查一些内容,但我收到一条消息说:"类型'never'上不存在属性"。我以前从未使用过打字,也不知道如何解决这个问题。

let waitingRoomData;
//Join waiting room.
waitingRoomsSnapshot.forEach(waitingRoom => {
waitingRoomData = waitingRoom; 
});
if (waitingRoomData === undefined) {
return undefined;
} else {
if (waitingRoomData.child('hostId').val() == context.auth?.uid) {
//Uses an existing room where the current user is the host.
//Update creation time.
return waitingRoomData.child('creationTime').ref.set(admin.database.ServerValue.TIMESTAMP).then(() => {
return waitingRoomData.val();
}).catch(error => {
console.log(error);
return error;
});
} else {
return waitingRoomData.val();
}
}

您可能没有声明waitingRoomData的类型。[1]

尝试将其声明为:

let waitingRoomData:any[] = [];

否则,可能您的"else"语句之一永远不会被用作"if"始终为true,而编译器正在检测到这一点。

[1] Typescript:类型';上不存在属性;从不';,但功能有效吗?

[2] ';类型';上不存在属性;从不';

相关内容

  • 没有找到相关文章

最新更新