У меня есть следующая цепочка обещаний, которая, как я ожидал, будет возвращена функцией разрешения функции .finally (), но вместо этого возвращается последний .then ().
exportReportToJson (url,opts) {
const requestJSON = {
"values" : []
};
return this.getValue(url)
.then( value => {
requestJSON.values.push(value);
if(opts.extraValue){
return this.getExtraValue(value);
}else{
return Promise.finally();
}
})
//The index of .push gets returned instead
.then(extraValue => requestJSON.values.push(extraValue))
//But I want requestJSON to always be the returned Promise
.finally( () => requestJSON)
}
Как видите, я хочу, чтобы в конечном итоге всегда было последнее обещание, которое нужно вернуть, разве это не то, для чего? Что мне здесь не хватает? Я думал, что это работает как .always ()
Не ждите, пожалуйста.
Я хочу иметь условные. Потом, не меняя финал. Потом в основном.