Common Lisp中实现异步Promise的最佳实践
在Common Lisp中实现异步操作的Promise机制,可以通过以下方法进行安装和使用。该代码基于CL的Promise和同行操作,尽管并未达到生产环境标准,但足以帮助理解Promise的基本实现。
要使用此项目,请将项目目录添加至符号链接路径~/quicklisp/local-projects/
,并借助Quicklisp工具安装。在REPL中运行以下命令:
(ql:quickload :promises)
Runloop工具用于支持异步操作,但未包含网络代码。所有的异步调用(例如get-tweets-for
、http-get
等)均采用runloop计时器进行存根。
在测试部分,test[123].lisp
文件包含示例代码,用户可使用以下命令运行这些代码:
(in-package :promises-test3)
(run-function (make-instance 'runloop) 7 #'run \" bar \")
请确保您使用的符号及包命名和示例中一致,以确保代码运行正常。