어떤 경우에는 then()
프라 미스 객체에서 반환 값을 얻을 때 다음과 같이 값의 조건에 따라 두 가지 다른 선행 작업 을 시작해야합니다 .
promise().then(function(value){
if(//true) {
// do something
} else {
// do something
}
})
아마도 다음과 같이 쓸 수 있다고 생각합니다.
promise().then(function(value){
if(//true) {
// call a new function which will return a new promise object
ifTruePromise().then();
} else {
ifFalsePromise().then();
}
})
그러나 이것으로 두 가지 질문이 있습니다.
새로운 promise를 시작하는 것이 좋은 생각인지 모르겠습니다. Promise에서 프로세스를 시작합니다.
마지막에 하나의 함수를 호출하기 위해 두 프로세스가 필요하면 어떻게합니까? 동일한 "터미널"이 있음을 의미합니다.
원래 체인을 유지하겠다는 새로운 약속을 다음과 같이 되돌리려 고했습니다.
promise().then(function(value){
if(//true) {
// call a new function which will return a new promise object
// and return it
return ifTruePromise();
} else {
// do something, no new promise
// hope to stop the then chain
}
}).then(// I can handle the result of ifTruePromise here now);
그러나이 경우에는 그것이 참이든 거짓이든 다음 then
이 작동합니다.
그래서, 그것을 처리하는 가장 좋은 방법은 무엇입니까?