Skip to content

NodeJS 無法結束 #36

@Chen-Michael

Description

@Chen-Michael
db.collection('rooms').get().then(rooms => {
	var roomID = [];

	rooms.forEach(room => {
		roomID.push(room.id);
	});

	return roomID;
}).then(async roomID => {
	for (let id of roomID) {
		let users = await db.collection('/room_users/' + id + '/list').get();
		for (let user of users.docs) {
			try {
				let userData = await admin.auth().getUser(user.id);
			} catch (error) {
				console.log(error);
			}
		}
	}
}).then(() => {
	console.log('done.');
});

第二個版本

async function foo() {
	let rooms = await db.collection('rooms').get();
	for (let room of rooms.docs) {
		let users = await db.collection('/room_users/' + room.id + '/list').get();
		for (let user of users.docs) {
			try {
				let userData = await admin.auth().getUser(user.id);
				console.log(userData.uid);
			} catch (error) {
				console.log(error);
			}
		}
	}
	console.log('Done.');
}

console.log('Start.');
foo();

遇到的問題

let userData = await admin.auth().getUser(user.id);

有這一行 NodeJS 無法結束, 已確定沒有其他 error , 也有輸出 done.

但就是結束不了

嘗試過的解法

將 let userData = await admin.auth().getUser(user.id); 移除

輸出 done. 後能順利結束

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions