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

87
Views
¿Cómo hacer un bucle dentro del método Promise Async Await?

Quiero hacer una salida como esta:

kembaliano 1: 30000 kembaliano 2: 20000 kembaliano 3: 10000 kembaliano 4: 5000

Entonces, después de Kembalian, hay un número, pero quiero hacerlo automáticamente.

con este codigo

 function beliPromise(uang, harga) { return new Promise(function (resolve, reject) { setTimeout(function () { const kembalian = uang - harga; let angka = i for (let i = 0; i <= 10; i++) { console.log(i) } console.log(`kembalian ${angka}: ${kembalian}`); if (kembalian > 0) { resolve(kembalian); } else { reject(0); // atau bisa reject('uang anda habis bro :(') } }, 500) }) } async function kembalianAwait() { try { const kembalian1 = await beliPromise(50000, 20000); const kembalian2 = await beliPromise(kembalian1, 10000); const kembalian3 = await beliPromise(kembalian2, 10000); const kembalian4 = await beliPromise(kembalian3, 5000); // const kembalian5 = await beliPromise(kembalian4, 50000); // return kembalian5; } catch (err) { throw err } } kembalianAwait()

Cómo puede ser ?

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

0

Puede usar "esperar" en un bucle for, por ejemplo:

 function beliPromise(uang, harga) { return new Promise(function (resolve, reject) { setTimeout(function () { const kembalian = uang - harga; if (kembalian >= 0) { resolve(kembalian); } else { reject(); } }, 500) }) } let uang = 50000; async function kembalianAwait() { const harga = [20000, 10000, 10000, 5000]; try { for (let i = 0; i < harga.length; i++) { let kembalian = await beliPromise(uang, harga[i]) console.log(`kembalian ${i + 1}: ${kembalian}`); uang = kembalian } } catch (err) { console.log(err); } }

Y tenga en cuenta el uso de >=0 , creo que tener la cantidad exacta de dinero no debería generar un error.

about 4 years ago · Juan Pablo Isaza Report

0

Utilice una variable de índice global:

 var index = 1 function beliPromise(uang, harga) { return new Promise(function(resolve, reject) { const kembalian = uang - harga; console.log(`kembalian ${index}: ${kembalian}`); index ++; if (kembalian > 0) { resolve(kembalian); } else { reject(0); // atau bisa reject('uang anda habis bro :(') } }) } async function kembalianAwait() { try { const kembalian1 = await beliPromise(50000, 20000); const kembalian2 = await beliPromise(kembalian1, 10000); const kembalian3 = await beliPromise(kembalian2, 10000); const kembalian4 = await beliPromise(kembalian3, 5000); // const kembalian5 = await beliPromise(kembalian4, 50000); // return kembalian5; } catch (err) { throw err } } kembalianAwait()

about 4 years ago · Juan Pablo Isaza Report

0

Tiene un bucle, pero haga referencia a i fuera del bucle. Debe incluir el código del ciclo en el ciclo:

 function beliPromise(uang, harga) { return new Promise(function (resolve, reject) { setTimeout(function () { const kembalian = uang - harga; for (let i = 0; i <= 10; i++) { let angka = i console.log(i) console.log(`kembalian ${angka}: ${kembalian}`); if (kembalian > 0) { resolve(kembalian); } else { reject(0); // atau bisa reject('uang anda habis bro :(') } } }, 500) }) } async function kembalianAwait() { try { const kembalian1 = await beliPromise(50000, 20000); const kembalian2 = await beliPromise(kembalian1, 10000); const kembalian3 = await beliPromise(kembalian2, 10000); const kembalian4 = await beliPromise(kembalian3, 5000); // const kembalian5 = await beliPromise(kembalian4, 50000); // return kembalian5; } catch (err) { throw err } } kembalianAwait()

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!