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 ответов

6 просмотров

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

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

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

Жабаскрипт мало решает в реакте. 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 раз

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
How to create an OS in C? what to study?
Linus
18
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
9
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Карта сайта