首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于检索Google Secret Manager变量的asnyc函数返回promise pending

用于检索Google Secret Manager变量的asnyc函数返回promise pending
EN

Stack Overflow用户
提问于 2021-03-20 01:15:32
回答 1查看 76关注 0票数 1

我正在尝试将我的环境变量切换到Google Secrets Manager,但我遇到了一个问题。我正在运行expressjs api,试图建立一个数据库连接。但是不管我怎么尝试,它只返回Promise { <pending> },而不是等待异步函数完成。任何帮助都是非常感谢的!

gcloud.js

代码语言:javascript
复制
const { SecretManagerServiceClient } = require('@google-cloud/secret-manager');
const client = new SecretManagerServiceClient();

async function getSecret(name) {

const name = `projects/PROJECT-ID/secrets/${name}/versions/latest`;

const [version] = await client.accessSecretVersion({
  name: name,
});

const payload = version.payload.data.toString();

return payload;
}

module.exports.getSecret = getSecret;

config.js

代码语言:javascript
复制
const gcloud = require('./config/gcloud.js')

const config = {
  authSecret: gcloud.getSecret(SECRET_NAME)
}

module.exports = config
EN

回答 1

Stack Overflow用户

发布于 2021-03-20 01:30:30

您需要对gcloud.getSecret的结果执行await

代码语言:javascript
复制
// Not actually valid
const config = {
  authSecret: await gcloud.getSecret(SECRET_NAME)
}

但是,顶级等待尚未得到广泛支持,因此您需要在函数NodeJS Async / Await - Build configuration file with API call中构建配置

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66712713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档