fix Deferred pipe: skip callback when null