Fixed chaining and prevent fulfilling rejected promises, and rejecting fulfilled promises.