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

  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中的异步函数执行完毕后执行### 问题描述

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

相关代码

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

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


海绵宝宝撒
浏览 5549回答 2
2回答

眼眸繁星

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

慕勒3428872

直接在f1的then中运行f2啊
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript