Асинхронная функция всегда возвращает Promise (см. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function#Return_value).
. Если вы поместите оператор console.log (result) в тело функции asyncCall (), вы поймете, что значение действительно разрешенопрямо здесь и может быть использовано так, как вы ожидаете. Но, как задокументировано, возвращаемое значение асинхронной функции всегда будет «обещанным», так что вам также придется «ждать» вызова этой функции.
Чтобы сделать это на верхнем (глобальном) уровне, вы можете использовать IIFE (выражение немедленного вызова функции):
(async () => console.log(await asyncCall()))();
или вернуться к классическим функциям обратного вызова, используя Promise.then ():
asyncCall().then(value => console.log(value));
Некоторые браузеры также поддерживают выражения ожидания верхнего уровня:
await asyncCall();