Задать вопрос
@ivandao

Как упростить запись асинхронной функции?

async getData({params}) { return await getSpecialData(p, {params}); },
  • Вопрос задан
  • 65 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
Aetae
@Aetae Куратор тега JavaScript
Тлен
Если getSpecialData точно асинхронная, то можно опустить async await(потому что оные - всего лишь сахар над Promise, если функция так или иначе возвращает Promise - она асинхронна(и наоборот), напоминать ей об этом не надо):
getData({params}) {return getSpecialData(p, {params})}


Дальше, если нам пофиг, что в переданный объект попадёт что-то ещё кроме params и если p не меняется можно просто забиндить, :getData: getSpecialData.bind(null, p)

Если p меняется использовать стрелку:getData: wParams => getSpecialData(p, wParams)

Если params должен быть единственным ключом - аналогично:
getData: ({params}) => getSpecialData(p, {params})

Если getSpecialData не всегда асинхронная - второй await можно опустить в любом случае:
async getData({params}) {return getSpecialData(p, {params})}
getData: async wParams => getSpecialData(p, wParams)
getData: async ({params}) => getSpecialData(p, {params})
Ответ написан
@abberati
frontend-разработчик
если getSpecialData возвращает промис, то так

const getData = ({params}) => getSpecialData(p, {params})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 12:39
1000 руб./за проект
18 дек. 2024, в 12:37
10000 руб./за проект
18 дек. 2024, в 12:22
5000 руб./за проект