HarmonyOS 请求接口时,添加参数,针对密码的加密是异步返回的,如何能变成同步

请求登录接口时,逐项添加参数,由于密码是需要加密的,所以用到了rsa加密,但是这个是异步的,也就是加密结果并不能立即返回,代码如下:

export function getPwd(password: string) {
  let enc: string = cipher.rsa({
    action: 'encrypt', // 加密
    text: password, // 待加密的文本内容
    key: RSA_ENCRYPT_KEY, // base64编码后的加密公钥
    // transformation: 'RSA/None/OAEPWithSHA256AndMGF1Padding',
    success: (info: CipherResponse) => {
      console.log('加密成功  ' + JSON.stringify(info));
      // return JSON.stringify(info);
    },
    fail: (data: string, code: number) => {
    },
    complete: () => {
    }
  });
  return enc;
}
HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

可以用async/await来实现,参考如下文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/async-concurrency-overview-V5#asyncawait

类似于如下方式:

export async function getPwd(password: string) {
  let enc: string = await cipher.rsa({
    action: 'encrypt', // 加密
    text: password, // 待加密的文本内容
    key: RSA_ENCRYPT_KEY, // base64编码后的加密公钥
    success: (info: CipherResponse) => {
      console.log('加密成功 ' + JSON.stringify(info));
      // return JSON.stringify(info);
    },
    fail: (data: string, code: number) => {
    },
    complete: () => {
    }
  });
  return enc;
}
分享
微博
QQ
微信
回复
3天前
相关问题
ArkTs中异步方法如何变成同步方法
2425浏览 • 0回复 待解决
如何选择使用同步接口还是异步接口
2184浏览 • 1回复 待解决
加密密码键盘实现
218浏览 • 0回复 待解决
HTTP GET请求如何传递参数
3205浏览 • 1回复 待解决
HarmonyOS 如何异步数据改成同步
160浏览 • 1回复 待解决