如何在多个接口请求成功后才调用方法

需求的问题是现在要a方法调用a接口,获得a接口的数据,再调用方法b,获得b接口的数据,再用a,b接口的数据,作为参数用c方法调取c接口,这里存在a接口与b接口调用时间的未知,请问如何单线的调用完整,这里并不想作为接口调取成功的回调函数反复回调

慕哥9229398
浏览 1299回答 8
8回答

元芳怎么了

const [a, b] = await Promise.all([getA(), getB()]);const c = await getC(a, b);

阿晨1998

Promise.all(func1(),func2()).then(res=>{doSomething()})

收到一只叮咚

在c方法中添加if判断

蓝山帝景

用promise异步就可以了啊

三国纷争

watch到接口数据后才执行方法

守着一只汪

axios.all

GCT1015

使用ES7新特性syanc await轻松解决通过babel转换即可So ez

精慕HU

说一个比较原始的方法,定时器。用jQuery实现一下var time = 0;var dataA = {};var dataB = {};// a接口function funca() {    $.ajax({        ...        success: function(data) {            dataA = data            time ++            if (time === 1) {                func();            }        }    })}// b接口function funcb() {    $.ajax({        ...        success: function(data) {            dataB = data            time ++            if (time === 1) {                func();            }        }    })}// c接口function func() {    $.ajax({        data: {            data1: dataA,            data2: dataB        },        success: function(data){            console.log(data)        }    })}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript