Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

178
Views
.then() no devuelve una promesa

Estoy tratando de importar una función de otro archivo y, mientras renderizo en el componente de reacción, no se renderiza. El valor de esa variable se muestra undefined

índice.js

 const GetOwnBalance = async () => { if (!isInitialized) { await init(); } // const web2 = new Web3(provider); nftContract.methods .getBalance(selectedAccount) .call() .then((balance) => { // console.log(`Balance of ${selectedAccount} is ${balance}`); console.log("Intermediate balance : " + balance); // return balance; } ); }; export default GetOwnBalance;

Hasta que esto todo funciona perfecto, pero el problema está en App.js

Aplicación.js

 import React, { useState } from 'react'; import GetOwnBalance from './index'; function App() { const [balance, setBalance] = useState(0); function fetchBalance() { GetOwnBalance() .then(value => { setBalance(value); //value shows undefined ??? console.log("Final Balance : " + value); } ); } return ( <div className="App"> <p>Your balance is {balance}</p> <button onClick={fetchBalance}>Refresh balance</button> </div> ); } export default App;

Cuando trato de ejecutar este fragmento de código, el value del valor en la promesa .then() se muestra indefinido. ¿Puede alguien explicar por qué es así?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Es porque no está devolviendo nada de la función GetOwnBalance .

Intente agregar la palabra clave return en return nftContract.methods....

 const GetOwnBalance = async () => { if (!isInitialized) { await init(); } // const web2 = new Web3(provider); return nftContract.methods .getBalance(selectedAccount) .call() .then((balance) => { // console.log(`Balance of ${selectedAccount} is ${balance}`); console.log("Intermediate balance : " + balance); // return balance; <-- Also uncomment this } ); }; export default GetOwnBalance;
about 4 years ago · Juan Pablo Isaza Report

0

¿La función "GetOwnBalance" está ubicada en index.js o ./Web3Client'?

En lugar del parámetro "valor" en

 .then(value => { setBalance(balance); //value shows undefined ??? console.log("Final Balance : " + balance); }

Intente simplemente usar el nombre del valor del gancho:

 .then(() => { setBalance(value); console.log("Final Balance : " + value); })

Además, no tiene que configurar "GetOwnBalance" como asíncrono si no usa await

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!