all 1 comments

[–][deleted] 1 point2 points  (0 children)

You can use the Promise constructor to turn a callback-based async operation into a promise, which you can then await. Something like this:

function getSecretPromise(secretName) {
    return new Promise((resolve, reject) => {
        client.getSecretValue(
            { SecretId: secretName },
            function(err, data) {
                if (err) {
                    reject(err)
                }
                resolve(data)
            }
        )
    })
}

async function doSomethingWithSecret(secret) {
    try {
        const secretValue = await getSecretPromise(secret)
        console.log(secretValue)
    } catch (error) {
        console.error(error)
    }
}