Treat promise.fulfill/reject as no-ops instead of throwing if the promise has
already been resolved.