Apa perbedaan antara Janji dan Observable?

Apa perbedaan antara Promisedan Observabledi Angular? Contoh pada masing-masing akan membantu dalam memahami kedua kasus. Dalam skenario apa kita bisa menggunakan setiap