markdown 承诺和交付(也是未来)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 承诺和交付(也是未来)相关的知识,希望对你有一定的参考价值。

;;
;; shipping products for Order
;; 组装产品等待其他工序完成才可以完成.
;;

(defrecord Order [name price qty])

;; 统计总价
(defn merge-products [m1 m2]
  ;; meta data info `total-price`
  {:total-price (+ (* (.price x) (.qty x)) (* (.price y) (.qty y)))}
  [m1 m2])


;; 组装完产品后发货, 等待x,y完毕,即x和y的deliver
(defn ship-products [x y z]
  (deliver z (merge-products @x @y))
  (println "We can ship products " @z))



(def product-a (promise))

(def product-b (promise))

(def shipping-ab (promise))

(future (ship-products product-a product-b shipping-ab))

(deliver product-a (->Order "book" 10.1 5))

(deliver product-b (->Order "pencil" 2.1 10))

以上是关于markdown 承诺和交付(也是未来)的主要内容,如果未能解决你的问题,请参考以下文章

markdown JS中的eventproxy和承诺

markdown [期货和承诺] #design_pattern

markdown 回调,承诺,异步等待

markdown 承诺

markdown JS承诺

markdown JS承诺