Показать сообщение отдельно
  #17 (permalink)  
Старый 27.03.2018, 13:23
Профессор
Отправить личное сообщение для Audaxviator Посмотреть профиль Найти все сообщения от Audaxviator
 
Регистрация: 28.04.2017
Сообщений: 214

Вообще-то да.
Я попробовал вот так
function bar() {
	fs.readFile('_moment.js', (err, data) => {
			console.log('file');
		});
}

async function foo() {
	await bar();
	console.log('ok');
}

foo();

и так
function bar() {
	return new Promise( resolve => {
		fs.readFile('_moment.js', (err, data) => {
				console.log('file');
				resolve();
			});
	});
}

async function foo() {
	await bar();
	console.log('ok');
}

foo();

Вывод в разном порядке.
await на функции без промисов не действует.
Внутренности функции надо заворачивать в промис в любом случае - предполагается у него then или нет.

Последний раз редактировалось Audaxviator, 27.03.2018 в 13:30.
Ответить с цитированием