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

使用await作为参数

  •  0
  • psyanite  · 技术社区  · 8 年前

    只是想知道这是否可行(我想不是因为我在任何地方都没见过这样做),以及是否有人有一个很好的解释为什么不行。

    const expiry = new Date(await getTokenExpiry() * 1000)
    

    或者我是否必须这样做:

    const expiry = await getTokenExpiry()
    const muhExpiry = new Date(expiry * 1000)
    

    谢谢你阅读我的问题。

    1 回复  |  直到 8 年前
        1
  •  3
  •   CertainPerformance    8 年前

    是的,它是可以完成的-参数在它们的外部表达式之前求值,毕竟,它与 await ,如果你需要的话。例如:

    const multiplyBy4 = num => num * 4;
    const resolveWithOne = () => new Promise(res => setTimeout(res, 500, 1));
    
    (async () => {
      console.log('start');
      const result = multiplyBy4(await resolveWithOne());
      console.log(result);
    })();

    也就是说,除非 相当琐碎 ,如果将每个 等待 在自己的路线上。