Node.js, promise, mysql как выдать результат?
Что-то вы совсем намудрили, всё гораздо проще.getEmail() {
	return new Promise((resolve, reject) => {
		this.start();

		this.db.query('SELECT * FROM contacts', (err, contacts) => {
			if (err) {
				reject(err);

				return;
			}

			const emails = contacts
				.map(contact => contact.email)
				.filter(Boolean);

			this.end();

			resolve(emails);
		});
	});
}_db.getEmail()
	.then((emails) => {
		console.log(emails)
	})
	.catch((error) => {
		console.log('Error in the Query', error);
	});
По хорошему бы сделать что бы запросы к БД сразу возвращали Promise тогда это станет гораздо удобней.
Что-то вы совсем намудрили, всё гораздо проще.getEmail() {
	return new Promise((resolve, reject) => {
		this.start();

		this.db.query('SELECT * FROM contacts', (err, contacts) => {
			if (err) {
				reject(err);

				return;
			}

			const emails = contacts
				.map(contact => contact.email)
				.filter(Boolean);

			this.end();

			resolve(emails);
		});
	});
}_db.getEmail()
	.then((emails) => {
		console.log(emails)
	})
	.catch((error) => {
		console.log('Error in the Query', error);
	});
По хорошему бы сделать что бы запросы к БД сразу возвращали Promise тогда это станет гораздо удобней.