no longer create an error for applying to a fulfilled promise, so
calling promise.error multiple times does not throw an exception.