Sandwich-Muster in Javascript-Code

Entschuldigen Sie, wenn der Titel der Frage irreführend ist. Eigentlich suche ich das Javascript-Äquivalent des folgenden Python-Codes:


## 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 

Dies implementiert die ähnliche Funktionalität als "with statement" in Python, das das aspektorientierte Paradigma implementiert.

Meine Frage ist also, wie man mit Javascript so etwas macht. Ich habe einen Code gesehen, der Array.prototype.slice (Argumente, 1) verwendet, um dies zu tun, aber ich weiß nicht, ob dies ein häufiges Muster in Javascript ist oder ob es bessere Muster gibt, die in Javascript unterstützt werden (z. B. durch Schließen) Tu das nicht wirklich. Bitte korrigieren Sie mich auch, wenn ich die falschen Schlüsselwörter verwende, weil ich nicht wirklich weiß, wie ich mein Problem mit einem besseren Namen als Sandwich ansprechen soll.

EDT 1: Und ich schätze es, wenn jemand erklären kann, wie das Ergebnis von fn (* args) aus dem Wrapper call_with_context zurückgegeben wird. Vielen Dank!

Antworten auf die Frage(5)

Ihre Antwort auf die Frage