javascript - 承诺返回未定义 - 打字稿
问题描述
嗨,我正在尝试从sign_vals获取结果并在sign_request中使用它,我的问题是当我想使用 sign_vals 中的值时我一直不确定,这可能是一个小问题,但我希望有人能提供帮助。谢谢
const vals = username + "|" + ikey;
const duo_sig = await this._sign_vals(
skey,
vals,
this.DUO_PREFIX,
this.DUO_EXPIRE
);
const app_sig = await this._sign_vals(
akey,
vals,
this.APP_PREFIX,
this.APP_EXPIRE
);
console.log(app_sig);
const sig_request = duo_sig + ":" + app_sig;
return sig_request;
}
_sign_vals(key, vals, prefix, expire: number) {
var exp = Math.round(new Date().getTime() / 1000) + expire;
var val = vals + "|" + exp;
var sig;
var b64 = Buffer.from(val).toString("base64");
const cookie = prefix + "|" + b64;
this.computehmac(key, cookie).then((data) => {
console.log(data);
const hexedstring = Buffer.from(data).toString("hex");
const output = cookie + "|" + hexedstring;
this.output = output;
return this.output;
});
//this.output = (await this.cookie) + "|" + this.sig;
}
computehmac(key: any, cookie: any) {
const computation = hmac.compute(key, cookie, "SHA-1");
return computation;
}```
解决方案
推荐阅读
- .net - 在第二个计划 Dotnet 中运行 Thread
- javascript - 突出显示文本中特定单词的出现
- r - 如何在 R: 1563921031 中将日期时间转换为这种格式?
- c++ - 我的主窗口是否在创建时或单击更新区域时收到编辑控件?
- chef-infra - 制作厨师警卫来判断 docker 是否安装在 linux 上
- testing - 测试安装了 Knockout 的 webapp 搜索数据表单的 Jmeter/Webdriver 问题
- python-3.x - 简化 numpy 表达式
- sql - sql server中列值发生变化时如何生成newid
- modelica - 如何在 CLI 中使用 openmodelica 编译器?
- linux - bluez的扫描速度取决于哪些因素,如何提高?