Patrón sandwich en código javascript

Pedir disculpas si el título de la pregunta es engañoso. De hecho, estoy buscando el equivalente en javascript del siguiente código de Python:


## python code
def call_with_context(fn, *args):
  ## code to create context, e.g. profiling, db.connect, or drawing context store stack
  fn(*args)
  ## code to close context 

Esto implementa la funcionalidad similar como "with statement" en python, que implementa el paradigma orientado a aspectos.

Entonces mi pregunta es ¿cuál es la forma javascript de hacer tales cosas? He visto algo de código usando Array.prototype.slice (argumentos, 1) para hacerlo, pero no sé si este es un patrón común en javascript, o si hay mejores patrones soportados en javascript (por ejemplo, por cierre), entonces ppl realmente no hagas eso Por favor, corríjame si estoy usando las palabras clave equivocadas, porque realmente no sé cómo referirme a mi problema con un nombre mejor que un sándwich.

EDT 1: Y aprecio si alguien puede explicar cómo devolver el resultado de fn (* args) desde el interior del contenedor call_with_context. ¡Gracias!

Respuestas a la pregunta(5)

Su respuesta a la pregunta