What are the differences between Redux Thunk and Redux Saga?

Both Redux Thunk and Redux Saga take care of dealing with side effects. In most of the scenarios, Thunk uses Promises to deal with them, whereas Saga uses Generators . Thunk is simple to use and Promises are familiar to many developers, Sagas/Generators are more powerful but we will need to learn them. But both middleware can coexist, so we can start with Thunks and introduce Sagas when/if we need them.