簡體   English   中英

ReactiveCocoa和PromiseKit之間的主要區別是什么?

[英]What's the main difference between ReactiveCocoa and PromiseKit?

ReactiveCocoa使用RACSignal和PromiseKit使用Promise來包裝值。 它們都可以將異步工作鏈接在一起。 ReactiveCocoa和PromiseKit之間的主要設計區別是什么?

signal和promise都是將異步操作表示為類型化的值的兩種方法,這些類型的可以以回調/通知/代理無法傳遞的方式傳遞,鏈接,組合,嵌套等。

兩者之間的差異就像正方形和矩形之間的差異一樣,其中所有的承諾都是信號,但並非所有的信號都是承諾。 承諾是信號的一種特定用例。

信號表示由完成或失敗終止的任何數量的異步事件的時間軸。 下圖是所有可能的信號-任何數量的事件以失敗或完成而結束

--------------------Event(eventData)-Completion()

--------------Completion()

Event(eventData)---------Event(eventData)----------Failure(errorData)

-------------------------------------Failure(errorData)

一個promise表示單個異步事件或單個異步故障。 下圖表示可能的承諾:

-------Completion(eventData)

----------------------------------------------Completion(eventData)

--------Failure(errorData)

------------------------Failure(errorData)

如您可能已經看到的,任何promise都可以由在發送第一個Event之后立即發送Completion的信號來表示,如下所示:

-------Event(data)+Completion()

-------------------------------------------Event(data)+Completion()

--------Failure(errorData)

------------------------Failure(errorData)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM