当前位置: 首页 > 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

相关文章:

  • STM32+AI语音识别智能家居系统
  • 软件设计师 - 第1章 计算机网络概论
  • 【计算机毕设】无查重 基于python豆瓣电影评论舆情数据可视化系统(完整系统源码+数据库+开发笔记+详细部署教程)✅
  • IROS讲座:如何写出受欢迎的论文
  • 接口文档的编写
  • css中的变量使用
  • MySQL 数据库课程设计
  • 软件测试学习笔记丨Chrome开发者模式
  • Linux-vim
  • 从自动驾驶看无人驾驶叉车的技术落地和应用
  • HTTP 之 HTTP头部优化策略(九)
  • Spring Boot 整合 Sentinel 实现流量控制
  • Facebook的AI革新:如何利用人工智能提升你的社交体验
  • Golang 教程5——函数02(时间函数、内建函数、错误机制)
  • 海外云手机实现海外社媒矩阵营销
  • 计算机网络(八股文)
  • 国内可以免费使用的gpt网站【九月持续更新】
  • 浏览器按F12进入开发者模式后频繁因为异常而暂停导致无法分析页面xpath
  • 企业财税自动化解决方案的优势与应用
  • 幂等的通用实现方案
  • Oracle rac 修改vip scan ip
  • 栈和队列算法题
  • zeppline如何配置用户登陆
  • 【Tools】如何评价黑悟空这款游戏
  • 等保测评:如何有效进行安全事件响应
  • 车辆远控功能自动化测试方案:打造高效可靠的测试流程