我是javascript的新手,我尝试实现我的第一个异步等待,但无法弄清楚我的问题在哪里。

getName()-应该在1秒后返回一个 promise 。
f()-应该等待getName完成,然后打印名称

我想念什么?

const getName = async () => {
  setTimeout(() => 'xxx', 1000)
};

const f = async () => {
  name = await getName()
  console.log(name)
}

f()

最佳答案

除非您在await内也使用getName,否则不需要使getName异步,只需要返回Promise即可;由于await可与promises一起使用:

const getName = () =>
  new Promise(resolve => setTimeout(resolve, 1000, 'xxx'));

async f() {
  let name = await getName();
  console.log(name);
}

f();

关于node.js - 等待不等待函数结束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54582827/

10-10 22:08