代码之家  ›  专栏  ›  技术社区  ›  Gary

在VS代码“调试控制台”中,运行JavaScript await函数

  •  2
  • Gary  · 技术社区  · 6 年前

    在VS代码“调试控制台”中,我可以在调试JavaScript代码(包括运行函数)时,在调试会话期间计算代码上的表达式。不过,我好像跑不动了 async 功能,甚至当我使用生命的时候,等等。

    我有以下代码:

    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代码调试器。然后我试着运行 getUrl 在调试控制台中以不同的方式运行,例如 getUrl() , getUrl().then((data) => data) ,和 (async () => getUrl())() ,全部返回 Promise { pending } ). main() 返回相同的值(如果在函数定义之后运行)。这些方法都不会打印函数的返回值。

    我也试过了 await getUrl() ,它返回 SyntaxError: await is only valid in async function .

    我知道我可以在代码中输出我想要的函数 console.log ,但我正在寻找一个解决方案,该解决方案专门使用调试控制台来打印使用 await 功能。

    因此,当函数是 异步 ?

    0 回复  |  直到 6 年前