js 链式调用中包含异步函数,如何按顺序让前面的函数执行完后再执行后面的函数?

作者站长头像
站长
· 阅读数 15

例如:test.getData().createDiv();

getData() 里面有 promise 对象去取后端的数据,我想要 getData() 执行完毕,拿到数据之后再执行createDiv()

该怎么写呢,没有思路

回复
1个回答
avatar
test
2024-07-16

最简单粗暴的写法

const test = {
    getData() {
        const promise = new Promise(resolve => setTimeout(resolve, 3000))
        return {
            createDiv() {
                promise.then(() => {
                    console.log('createDiv在promise结束之后执行')
                })
            }
        }
    }
}
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容