ReactiveCocoa использовать RACSignal и PromiseKit использовать Promise для переноса значений. Они могут обе цепи асинхронно работать вместе. Какова основная разница в дизайне ReactiveCocoa и PromiseKit?В чем основное отличие ReactiveCocoa и PromiseKit?
ответ
Сигналы и обещания представляют собой оба способа представления асинхронных операций с типизированными значениями, которые могут передаваться, закреплены, скомпонованы, вложены и т. Д. Способами, которые не могут выполнять функции обратного вызова/уведомления/делегата.
разница между этими двумя значениями, как разница между квадратом и прямоугольником, где все обещания являются сигналами, но не все сигналы являются обещаниями. обещание - это один конкретный случай использования сигнала.
Сигнал представляет собой временную шкалу любого количества асинхронных событий, завершенных завершением или сбоем. Следующие диаграммы все возможны signals- любого количество событий, заканчивающихся сбой или завершение
--------------------Event(eventData)-Completion()
--------------Completion()
Event(eventData)---------Event(eventData)----------Failure(errorData)
-------------------------------------Failure(errorData)
обещание представляет собой один асинхронное событие или один асинхронный отказ. следующие диаграммы представляют собой возможные обещания:
-------Completion(eventData)
----------------------------------------------Completion(eventData)
--------Failure(errorData)
------------------------Failure(errorData)
, как вы, вероятно, уже видим, любое обещание может быть представлена в виде сигнала, который посылает завершение сразу после того, как он посылает его первое событие, например, так:
-------Event(data)+Completion()
-------------------------------------------Event(data)+Completion()
--------Failure(errorData)
------------------------Failure(errorData)
- 1. В чем основное отличие Admob и AdSense
- 2. В чем основное отличие thread.join vs. queue.join?
- 3. В чем основное отличие этих двух идентификаторов?
- 4. В чем основное отличие между следующими утверждениями?
- 5. В чем основное отличие между stdlib.h и cstdlib в C++?
- 6. В чем основное отличие между пучками и bundleSFX в jspm?
- 7. В чем основное отличие между соленой и ямлом в Python?
- 8. В чем основное отличие между «union» и «struct» в C.?
- 9. В чем основное отличие строк и чисел от Common Lisp?
- 10. В чем основное отличие между ContainerControlledLifetimeManager и HierarchicalLifetimeManager?
- 11. В чем основное отличие между службами Spring и Rest
- 12. В чем основное отличие между Amazon S3 и Amazon EBS
- 13. В чем основное отличие между ReadOnly и Enabled?
- 14. В чем основное отличие между драйверами и пользовательскими приложениями?
- 15. В чем основное отличие между операторами if и if?
- 16. В чем основное отличие файла .so и .jar android
- 17. В чем основное отличие файла сопоставления, созданного SQLMETAL и EDMGenerator?
- 18. В чем основное отличие между B-Rep и параметрическим представлением
- 19. В чем основное отличие между ToString() и Convert.ToString()?
- 20. В чем основное отличие между «if» и «else if»? .
- 21. В чем основное отличие между неявным и явным анализом случаев?
- 22. В чем основное отличие интеллектуального анализа данных и хранилищ данных
- 23. В чем основное отличие между стандартами сжатия JPEG и EZW?
- 24. В чем основное отличие между протоколом WebSocket и http?
- 25. В чем основное отличие между signcode.exe и signtool.exe?
- 26. В чем основное отличие между статическим классом и классом Singleton
- 27. В чем основное отличие пространства имен, библиотеки и файлов заголовков?
- 28. В чем основное отличие между пакетом android.animation и android.transition?
- 29. В чем основное отличие между обработчиком и событием?
- 30. В чем основное отличие между огурцом и дозой?
Promises : ноль или одно значение. Сигналы: ноль или более значений. –