如何从回调函数访问其他参数

时间:2016-11-11 10:04:31

标签: elisp

我使用emacs-request从网上获取一些json数据。这是一个例子

(defun test (arg1 arg2)
  (request
   "http://httpbin.org/get"
   :params '(("key" . "value") ("key2" . "value2"))
   :parser 'json-read
   :success (cl-function
             (lambda (&key data &allow-other-keys)
               (message "I sent: %S" (assoc-default 'args data))))))

我想知道:success等回调函数如何访问arg1和arg2?

1 个答案:

答案 0 :(得分:1)

您可以将lexical-binding variable设置为t,允许lambda访问外部函数的参数,或者将:success函数包装在{{1}中绑定外部函数的lambda参数:

lexical-let