首页 > 解决方案 > 有没有办法在异步函数上实现上下文?

问题描述

我正在编写一个基于 NodeJS 的后端(云功能),但在以下情况下遇到了麻烦:

const context = createContext()

async main(event){
  // I need to cache something here
  context.set("I need this")
  await someDeepFunction()
}

async function someDeepFunction() {
  // ...... and got it in a very-very-deep logic
  const val = context.get()
}

主要问题是它是一个异步函数,当 NodeJS 在等待最后一个请求的同时处理下一个请求时,上下文应该自动切换以确保永远不会缺少第一个请求的缓存数据。

我找到了一个 javascript 项目https://github.com/ealush/context,但是在使用异步时它无法创建上下文。

是否可以实施以及如何实施?

标签: javascriptnode.jsasynchronous

解决方案


推荐阅读