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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions