На самом деле здесь нет особой причины, по которой вам нужно async
или await
.Вы также можете просто вернуть значение из обработчика .then()
, который будет работать в любой среде, которая поддерживает axios (не требует поддержки async / await):
function A() {
return axios.get('API_ENDPOINT_URL').then(function (rates) {
return rates.data.data;
});
}
// usage
A().then(result => {
console.log(result);
}).catch(err => {
console.log(err);
});
В случае, если вы этого не поняли,и эта версия, и версия выше с использованием await
возвращают одно и то же - обещание, которое разрешается до rates.data.data
или отклоняется с ошибкой axios.
Возвращение значения из обработчика .then()
изменяет разрешенное значениецепочки обещаний к возвращенному вами значению.
Если это значение не является также обещанием, в этом случае это обещание добавляется в цепочку, и разрешенное значение цепочки становится разрешенным значением этого нового обещания, которое вывернулся.