以下代码有效,但我正在寻找改进方法。我想确保通过使用promise可以正确处理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
语句中?我的代码可以做些改进吗?
最佳答案
除非他们执行异步操作,否则您将返回新的承诺,否则只会使IMO的语法更加混乱:最好将所有同步代码放入自己的块中。
apiFunctionOne(prop1, prop2)
.then(resp => {
this.doSomething1(resp);
this.doSomething2(resp);
this.doSomething3(resp);
return resp;
})
关于javascript - 我应该将单独的功能放入多个回调中吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49420404/