asked in NodeJS by (0 points)

Apakah memungkinkan untuk menggunakan async pada parameter yang dibutuhkan saat inisialisasi sebuah kelas di module?

contoh kode :

const configAuth = require('../../config/environment');
const Recaptcha = require('express-recaptcha').Recaptcha;
const recaptcha = new Recaptcha( configAuth.websitekey(), configAuth.websecretkey());

"configAuth.websitekey()" dan "configAuth.websecretkey()" adalah fungsi yang menggunakan Promise, sehingga harusnya menggunakan "await" di depan fungsi.

Notes: fungsi "configAuth.websitekey()" dan "configAuth.websecretkey()" berisi fungsi untuk mengambil data key dari database.

1 Answer

answered by (0 points)
 
Best answer

karena ini penggunaan nya utk middleware pada route express js, maka solusinya membuat fungsi baru dimana fungsi tersebut menggunakan asyn await utk mendapatkan data dari database.

setelah proses async await maka selanjutnya panggil fungsi untuk memverifikasi recaptcha.


Code:

const verifyRecaptcha = async (req, res, next) => {

    (new Recaptcha(await configAuth.websitekey(), await configAuth.websecretkey())).middleware.verify(req, res, next)

}

router.post('/verify-recaptcha', verifyRecaptcha, (req, res) => {

    // Code

})

...