当前位置: 首页 > article >正文

不用async与await将异步函数改为同步函数

最近做一个项目token校验,发现之前用的插件不能加密之后可以直接解密,一点都不安全。所以换了一个插件,但是遇到了另一个问题。原本的函数是同步函数,现在换了插件之后变为了异步函数。有很多的代码都调用了这个函数,总不能每个调用该函数的地方都加await或者then。

如下:

function sign(token){
    return jwt.sign(token)
}

调用的时候为sign('aaa')

而此时代码变为

async function sign(token){
    return await jose.sign(token)
}

如果这样的话,其他调用的地方就变为了这两种

await sign('aaaa')
// 或者
sign('aaaa').then(data=>{})

由于考虑到有很多地方都调用了这个函数,总不能所有文件都去修改吧!

这个时候我们可以用deasync来做异步改同步操作。

代码如下:

这里要用到了while死循环,也就是一直循环的去等待异步结果,

而deasync.runLoopOnce()则是等待异步结果,会阻塞主线程的执行。

let deasync 

http://www.kler.cn/a/288101.html

相关文章:

  • 计算机网络 笔记 网络层1
  • 【Docker】入门教程
  • 网络传输层TCP协议
  • 电池预测 | 第21讲 基于Gamma伽马模型结合EM算法和粒子滤波算法参数估计的锂电池剩余寿命预测
  • ubuntu22.04 的录屏软件有哪些?
  • 蓝桥杯嵌入式速通(1)
  • MySQL 数据库课程设计
  • 软件测试学习笔记丨Chrome开发者模式
  • Linux-vim
  • 从自动驾驶看无人驾驶叉车的技术落地和应用
  • HTTP 之 HTTP头部优化策略(九)
  • Spring Boot 整合 Sentinel 实现流量控制
  • Facebook的AI革新:如何利用人工智能提升你的社交体验
  • Golang 教程5——函数02(时间函数、内建函数、错误机制)
  • 海外云手机实现海外社媒矩阵营销
  • 计算机网络(八股文)
  • 国内可以免费使用的gpt网站【九月持续更新】
  • 浏览器按F12进入开发者模式后频繁因为异常而暂停导致无法分析页面xpath
  • 企业财税自动化解决方案的优势与应用
  • 幂等的通用实现方案
  • Oracle rac 修改vip scan ip
  • 栈和队列算法题
  • zeppline如何配置用户登陆
  • 【Tools】如何评价黑悟空这款游戏
  • 等保测评:如何有效进行安全事件响应
  • 车辆远控功能自动化测试方案:打造高效可靠的测试流程