Я пытаюсь лучше понять обещания.
Я делаю асинхронный вызов API, а затем, основываясь на ответе, хочу сделать еще несколько операций, для этого я использую следующие 2 подхода:
Подход 1:
function getABValues(){
getValueOfA() /*this returns aOutput*/
.then(function (aOutput){
getValueOfB() /*this returns bOutput*/
})
.then(function (bOutput){
console.log(bOutput);
})
}
Подход 2:
function getABValues(){
return getValueOfA() /*this returns aOutput*/
.then(function (aOutput){
return getValueOfB() /*this returns bOutput*/
})
.then(function (bOutput){
console.log(bOutput);
})
}
Вот функции getValueOfA () и getValueOfB ():
getValueOfA ()
function getValueOfA(){
return aOutput;
}
getValueOfB ():
function getValueOfB(){
return bOutut;
}
Если вы заметили, getValueOfA()
и getValueOfB()
уже возвращают значения, нужно ли мне использовать return при вызове getValueOfA()
и getValueOfB()
перед использованием then
.
Подход 1 не использует return
, а подход 2 использует return
.
Спасибо за разъяснение