面试题:小白,js中,如何确保接口请求顺序,比如,页面有三个接口A、B、C,有哪些方案,优劣点分别是啥,求教

一. 如何先请求A和B,在请求C,并保证其顺序

二. 如何确保B接口会一直优于其它接口,并保证其顺序

三. 确保三个接口中的一个或者多个接口在其它的接口之前执行,并成功响应后再执行其它接口,并保证其顺序

阅读 3.9k
2 个回答

async await搜一下

  1. 先执行AB,再执行C

    Promise.all([A, B]).then(res => C())
  2. 先执行B

    B().then(res => Promise.all([A, C]))
  3. 封装

    /**
     * 顺序执行
     * @param {*} prevList 先执行的接口
     * @param {*} nextList 后执行的接口
     * @returns 
     */
    function orderExec(prevList, nextList) {
     return new Promise((resolve) => {
         Promise.all(prevList).then(() => {
             Promise.all(nextList).then(() => {
                 resolve('执行完成')
             })
         })
     })
    }
    
    orderExec([A], [B, C])
    
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题