以下代码有效,但我正在寻找改进方法。我想确保通过使用promises正确处理API调用。
doSomething1(resp) {
if (resp) {
// Some code here
} else {
// Error handling
}
}
doSomething2(resp) {
// Some code here
}
fetchData() {
apiFunctionOne(prop1, prop2)
.then(resp => {
this.doSomething1(resp);
return resp;
})
.then(resp => {
this.doSomething2(resp);
return resp;
})
.then(resp => {
this.doSomething3(resp);
})
.catch(this.errorHandling);
}
doSomething4(resp) {
if (resp) {
// Some code here
} else {
// Error handling
}
}
doSomething3(resp) {
apiFunctionTwo(prop1, prop2)
.then(this.doSomething4)
.then(() => {
this.loading = false;
})
.catch(this.errorHandling);
}
最好将每个函数放在单独的then
语句中或一个then
语句中吗?
我的代码可以改进吗?
答案 0 :(得分:2)
除非他们正在做异步并且你正在返回一个新的承诺,否则它会使更多的语法混乱IMO:更好地将所有同步代码放入它自己的块中。
apiFunctionOne(prop1, prop2)
.then(resp => {
this.doSomething1(resp);
this.doSomething2(resp);
this.doSomething3(resp);
return resp;
})