В VS Code "Debug Console" запустите функцию ожидания JavaScript - PullRequest
0 голосов
/ 27 мая 2018

В коде VS «Консоль отладки» я могу оценивать выражения в моем коде в середине сеанса отладки при отладке моего кода JavaScript, включая выполнение моих функций.Однако я не могу запускать функции async, даже когда использую IIFE и т. Д.

У меня есть следующий код:

const axios = require('axios');

async function getUrl() {
  const response = await axios.get('http://example.com/');
  return response.data;
}

async function main() {
  const response = await getUrl();
  console.log(response);
}

main();

Я установил точку останова наasync function main() {, затем я запускаю VS Code Debugger.Затем я пытаюсь запустить функцию getUrl различными способами в консоли отладки, например getUrl(), getUrl().then((data) => data) и (async () => getUrl())(), которые все возвращают Promise { pending }).main() возвращает то же самое (если выполняется после определения функции).Ни один из этих методов не выводит возвращаемое значение функции.

Я также пробовал await getUrl(), который возвращает SyntaxError: await is only valid in async function.

Я знаю, что могу вывести нужные функции в коде с помощью console.log, если действительно необходимо, но я ищу решение, которое специально использует консоль отладки для печати результатов обещаний, специально созданных с помощью функции await.

Следовательно, действительно ли существует какой-либо способвыводить результаты функции в Консоль отладки кода VS, когда эта функция имеет значение async?

...