如何等待一个函数内部异步执行完毕再执行另外一个函数?

  1. 问题描述

有两个函数f1和f2,其中f1中有异步操作,执行完f1接着执行f2,因为f1内部有异步操作,所以会先执行完f2,再执行f1里的异步,如何等待f1异步执行完再执行f2.

备注:执行方式为f1();f2();不想在f1和f2外部包含promise.

  1. 代码
const f1 = async () => {
    const p = new Promise((resolv, reject)  => {
    setTimeout(() => {
      console.log('我是异步')
      resolv('resolv')
    }, 2000);
  })
    let res = await p;
  console.log("res", res);
}

const f2 = () => {
    console.log('我是f2')
}

f1();
f2();

// 打印结果如下
// 我是f2
// 我是异步
// res reslve
  1. 想要的结果,打印输出如下

我是异步
res reslve
我是f2

f2要求在f1中的异步函数执行完毕后执行### 问题描述

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 22.4k
2 个回答

await f1()
f2()
? 多理解啊。。

新手上路,请多包涵

直接在f1的then中运行f2啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题