ZipRequestFunction<T> typedef

ZipRequestFunction<T> = void Function({Completed? completed, Failure? failure, Success<T>? success})

author:ZhengZaiHong email:1096877329@qq.com date:2026-05-29 9:46 describe: 基于回调的请求方法的类型定义 Type definition for callback-based request methods. This function type explicitly defines the three callback parameters that RxNet's async methods accept: success, failure, and completed.

Purpose

Provides IDE autocomplete and type hints when constructing ZipRequest closures, making it clear which callbacks are available and their signatures.

Usage Example

// IDE will autocomplete {success, failure, completed} parameters
ZipRequestFunction<UserInfo> myRequest = ({success, failure, completed}) {
  getUserAsync(
    userId: '123',
    success: success,    // Type: Success<UserInfo>?
    failure: failure,    // Type: Failure?
    completed: completed, // Type: Completed?
  );
};

// Use in ZipRequest
ZipRequest<UserInfo>(
  request: myRequest,
  tag: 'user',
)

Parameters

  • success: Called when request succeeds with data of type T
  • failure: Called when request fails with error information
  • completed: Called when request finishes (success or failure)

All parameters are optional to support various callback patterns.

Implementation

/// This function type explicitly defines the three callback parameters that
/// RxNet's async methods accept: [success], [failure], and [completed].
///
/// ## Purpose
///
/// Provides IDE autocomplete and type hints when constructing [ZipRequest] closures,
/// making it clear which callbacks are available and their signatures.
///
/// ## Usage Example
///
/// ```dart
/// // IDE will autocomplete {success, failure, completed} parameters
/// ZipRequestFunction<UserInfo> myRequest = ({success, failure, completed}) {
///   getUserAsync(
///     userId: '123',
///     success: success,    // Type: Success<UserInfo>?
///     failure: failure,    // Type: Failure?
///     completed: completed, // Type: Completed?
///   );
/// };
///
/// // Use in ZipRequest
/// ZipRequest<UserInfo>(
///   request: myRequest,
///   tag: 'user',
/// )
/// ```
///
/// ## Parameters
///
/// - [success]: Called when request succeeds with data of type [T]
/// - [failure]: Called when request fails with error information
/// - [completed]: Called when request finishes (success or failure)
///
/// All parameters are optional to support various callback patterns.
typedef ZipRequestFunction<T> = void Function({
  Success<T>? success,
  Failure? failure,
  Completed? completed,
});