padrão sanduíche no código javascript

Peça desculpas se o título da pergunta for enganoso. Na verdade, estou procurando o equivalente javascript do seguinte código 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 

Isso implementa a funcionalidade semelhante como "com instrução" em python, que implementa o paradigma orientado a aspectos.

Então, minha pergunta é qual é a maneira javascript de fazer essas coisas? Eu vi algum código usando Array.prototype.slice (arguments, 1) para fazer isso, mas eu não sei se este é um padrão comum em javascript, ou há melhores padrões suportados em javascript (por exemplo, por fechamento) para que ppl realmente não faça isso. Pls também me corrija se eu estou usando as palavras-chave erradas, porque eu realmente não sei como se referir ao meu problema com um nome melhor do que o sanduíche.

EDT 1: E eu aprecio se alguém pode explicar como retornar o resultado de fn (* args) de dentro do wrapper call_with_context. obrigado!

questionAnswers(5)

yourAnswerToTheQuestion