Почему эта асинхронная функция иногда возвращает неопределенное значение, хотя я возвращаю значение? [закрыто]Javascript

Форум по Javascript
Ответить
Anonymous
 Почему эта асинхронная функция иногда возвращает неопределенное значение, хотя я возвращаю значение? [закрыто]

Сообщение Anonymous »

Я работаю над небольшим скриптом Node.js и заметил странное поведение асинхронной функции.
Вот упрощенная версия:

Код: Выделить всё

async function getData() {
if (Math.random() > 0.5) {
return "ok";
}
}

async function run() {
const result = await getData();
console.log(result);
}

run();


Иногда выходные данные «ОК», но иногда он регистрируется как неопределенный.
Я понимаю, что асинхронные функции возвращают обещания, но я ожидал, что результат всегда будет иметь значение, когда ожидается.
Что именно здесь происходит, и как правильно с этим справиться, чтобы функция ведет себя предсказуемо?

Подробнее здесь: https://stackoverflow.com/questions/798 ... return-a-v
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»