Size: a a a

JavaScript — русскоговорящее сообщество

2021 October 03

S

Sultan in JavaScript — русскоговорящее сообщество
Я имею ввиду что писать код ссылаясь на что уже писал
источник

И

Интроверт in JavaScript — русскоговорящее сообщество
код так и пишут, нет?
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
оформи код как библиотеку или аддон и ссылайся
источник

B

Buka in JavaScript — русскоговорящее сообщество
Ты не можешь достать из коллбэка данные о результате наружу, тк коллбэк асинхронен и мы не знаем когда придут данные, и придут ли вообще.

Если это реакт, можешь попробовать написать свой кастомный хук. Ты принимаешь в него params и все что тебе надо, он вызывает makeRequest, принимает результат в коллбэке, а дальше прокидывает его в state. State возвращается из хука. Тогда у нас будет хук, в который мы кинули параметры, а он нам отдаёт реактовое состояние, которое изменится когда выполнится makeRequest

export default const useIternalApi = (params) => {
const [result, setResult] = useState(null)

useEffect(() => {
.makeRequest ли internal(params)
Получаешь данные через промис или коллбэк и пихаешь в setResult(result)
}, [])

return result
}

Дальше просто там где надо используешь

const data = useInternalApi(params)
источник

KM

Kostya Mironov in JavaScript — русскоговорящее сообщество
О, да, как вариант, спасибо)

Уже нагородил цепочек .then()  😆
источник

B

Buka in JavaScript — русскоговорящее сообщество
Классика ) Вообще тебе для унификации результата нужно в любом случае писать какую-то функцию-обертку. Просто хук это один из вариантов обертки, и он позволяет не копаться в промисах а отдать все реактовому состоянию

Подумай скорее на тему абстракции и искусственного усложнения: зачем я пытаюсь унифицировать результат, насколько большая и сложная будет функция обёртка, смогу ли я в ней легко что-то поменять, разберутся ли в ней другие люди
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
что меня смущает в старых api с колбеками принятых в модулях nodejs, так это переменное число аргументов, так написать универсальную обёртку будет сложно
а бывает что используется больше одного колбека
источник

B

Buka in JavaScript — русскоговорящее сообщество
Я к этому и веду: может и не надо ничего унифицировать ))
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
а хотелось бы... лишняя работа напрягает
источник

B

Buka in JavaScript — русскоговорящее сообщество
Главное чтобы это потом в ногу не стрельнуло, чем больше кода напишем - тем сложнее его поддерживать. Грубо говоря про этот чудо врапер забудут через год, а когда нужно будет что-то вкостылить в существующий врапер - разработчик от бессилия повеситься )
KISS ещё никто не отменял
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
если вкостылить в врапер сложно, то надо запилить другой врапер
обчно подобный врапер занимает около 5 строк кода
источник

B

Buka in JavaScript — русскоговорящее сообщество
А потом начинается ад из абстракций и ты чувствуешь себя как джавист-индус
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
ад с нами изначально, взять тот же принцип работы конструктора Array
источник

YI

Yaroslav Ivanov in JavaScript — русскоговорящее сообщество
Помню случай в армии был
источник

YI

Yaroslav Ivanov in JavaScript — русскоговорящее сообщество
Запускаем ракету а она не туда летит
источник

m

misusimusasi in JavaScript — русскоговорящее сообщество
Уже смешно
источник

YI

Yaroslav Ivanov in JavaScript — русскоговорящее сообщество
А оказывается там был js в ракете и она складыыала. 0.1 +0.2
источник

YI

Yaroslav Ivanov in JavaScript — русскоговорящее сообщество
И не туда летела
источник

YI

Yaroslav Ivanov in JavaScript — русскоговорящее сообщество
Кароче поменяли на с шарп также шляпа
источник

YI

Yaroslav Ivanov in JavaScript — русскоговорящее сообщество
Так мы узнали как происходит сложение в компилятор на двоичнлм уровне
источник