在JavaScript中,几乎所有的后台接口,都是异步操作。有时候,我们需要使他们按照我们的设定顺序执行,可以使用.then方法来控制执行顺序。如果有多个方法,可以使用多个.then,链式调用。
假设有三个异步操作的函数,分别是func1,func2,func3,希望的执行顺序是func1->func2->func3,那么,可以这样做(但是不推荐)。
func1().then(res1 => {
if(res1.code === 200){
//func1执行完之后的业务处理
func2().then(res2 => {
if(res2.code === 200){
//func2执行完之后的业务处理
func3()....
}
})
}
})
不推荐的原因是,实际使用时,会有一系列的逻辑处理,导致整个代码非常冗长,分区不明显。到后面一个花括号套着一个,想要插入新代码都不知道从哪里点回车。所以更推荐下面链式调用的方式
func1().then(re