169 похожих чатов

useEffect(() => {

const fetchBalance = async () => {
if (isConnected && chain?.id == myChainId) {
tokenPairs.map(async (tokenPair) => {
const TokenOne = new provider.eth.Contract(
tokenPair.tokenOne.contract as AbiItem[],
tokenPair.tokenOne.address,
)
const TokenTwo = new provider.eth.Contract(
tokenPair.tokenTwo.contract as AbiItem[],
tokenPair.tokenTwo.address,
)
const TokenOneWei = await TokenOne.methods.balanceOf(address).call()
const TokenTwoWei = await TokenTwo.methods.balanceOf(address).call()

Promise.all([TokenOneWei, TokenTwoWei])

const BalanceTokenOne = Number(provider.utils.fromWei(TokenOneWei.toString(), "ether"))
const BalanceTokenTwo = Number(provider.utils.fromWei(TokenTwoWei.toString(), "ether"))

const tokenPairObj = {
firstToken: {
name: tokenPair.tokenOne.name,
image: tokenPair.tokenOne.image,
id: 1,
wallet: renderBalanceToken(BalanceTokenOne),
link: `https://pancakeswap.finance/swap?outputCurrency=${tokenPair.tokenOne.address}`
},
secondToken: {
name: tokenPair.tokenTwo.name,
image: tokenPair.tokenTwo.image,
id: 2,
wallet: renderBalanceToken(BalanceTokenTwo),
link: `https://pancakeswap.finance/swap?outputCurrency=${tokenPair.tokenTwo.address}`,
},
id: `${tokenPair.tokenOne.name}/${tokenPair.tokenTwo.name}`,
}

setAllTokenPairs((prev) => [...prev, tokenPairObj])

})
}
}

fetchBalance()
}, [isConnected, chain])

18 ответов

19 просмотров

Давно таких простыней не видел

Замена стм говорили они

Илюша 🎂
гений жаваскрипта

Жабаскрипт мало решает в реакте. Js это одно а фреймворк другое

в Promise.all должны передаваться все эти функции асинхронные

mappedTokenPairs = await Promise.All(tokenpairs.map(async....

Antonio Elasio- Автор вопроса
blank
mappedTokenPairs = await Promise.All(tokenpairs.ma...

и потом добавлять в стейт это? setAllTokens((prev), [prev, mappedTokenPairs])

Antonio Elasio- Автор вопроса
blank
Да

спасибо большое

А зачем консоль скрывать ?

не проще было замапить асинхронные функции как было?

тут эффектор нужен

Antonio Elasio- Автор вопроса

а как можно увеличить скорость появления данных?

Antonio Elasio
а как можно увеличить скорость появления данных?

в данной реализации они у тебя разом все один раз попадут в стейт и рендер будет 1 раз

Похожие вопросы

Обсуждают сегодня

Всем привет. Сейчас я изучаю erlang по книге Erlang and OTP in action. Дошел до главы где реализуется первый gen server на примере tcp rpc сервера. Меня очень сильно смутил ко...
Freezing Death
10
У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
всем привет. реально ли понять чем в процессе занята память? delphi/linux, процесс свой
Handatros
12
Подскажите... Есть ли название у способа разработки кода, в котором: сперва пишут минимальную рабочую структуру: Напр. ввод, обработка, вывод, контроль. Потом эту структуру д...
Budemposmotret
6
В дизассемблере вижу, что строки пихают в регистры через lea, почему так, а не через mov?
Oleg
8
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Коллеги, а не могли бы вы подсказать, как происходит оптимизация кода при выполнении кода julia? (Точнее, как управлять уровнем оптимизации, аналогично LLVM/GCC). Потому что...
Илья Гаража
5
Карта сайта