老师,想请教下关于异步请求的问题

来源:1-1 优化用户登录路由

又年00

2020-04-29 18:02:37

我现在有两个异步的请求方法,按照下面这样写的,我想按顺序先执行getId,等返回结果后再执行getList,怎么写优雅一些呢?

async getId(){
    const res = await xxx请求
    this.id = res.content.id
    // this.getList(id) 感觉这样调用感觉不太优雅
}
async getList(id){
    const res = await xxx请求
    this.list = res.content.list
}

// 假如我想在另一个函数这样写,怎么保证id拿到了再执行getList呢
init() {
    this.getId()
    this.getList(this.id)
}


写回答

1回答

Brian

2020-04-30

init() {
    this.getId()
    this.getList(this.id)
}

你这个写法就OK,简单的逻辑,就不用搞复杂了,别人也看得费劲。

只要把两个逻辑区别开了,就OK。

在getId中去判断ID是否有产生,加入数据效验,如果id数据无或者返回异常,可以不用进入到getList中。

PS: 对于有顺序执行的,需要循环执行的方法,可以放在数组中,然后,依次取出。

0

0 学习 · 1842 问题

查看课程