Я написал около полдюжины функций в nodejs, используя обещания, я действительно хочу опубликовать весь этот код, вместо этого я опубликую смоделированный пример, чтобы я мог кратко изложить свою проблему.скажем, у меня есть 2 функции ниже:
foo = () => {
return new Promise( ( r , rj ) => {
setTimeout( () => {
r('DONE');
}, 3000 );
});
}
И
bar = () => {
return new Promise( (r , rj) => { r('ALL DONE !') } )
}
Теперь я хотел бы избежать ада обратного вызова и сделать следующее:
foo().then( (resp) => console.log(resp) ).bar()
Вместо этого я вынужден сделать следующее:
foo().then( (resp) => { console.log(resp); bar() } )
Так что в основном в моем производственном коде у меня есть что-то похожее на приведенное ниже (просто чтобы дать вам представление):
let uploadToVault = ( INPUT_DIR , VOLT_CRED ) => {
INPUT_DIRECTORY = INPUT_DIR;
VOLT_CREDENTIALS = VOLT_CRED;
volt_APILogin().then( () => {
volt_getProduct().then( () => {
volt_CreatePresentation().then( (resp) => {
console.log(resp);
volt_uploadSlides().then( (resp) => {
console.log(resp);
volt_bindSlide().then( (resp) => {
console.log(resp);
});
});
});
});
});
}
Теперь, как я могу написать это в более цепочечном формате по сравнению с записью в обратном вызове?