resolveChannel method

AsyncTaskChannel? resolveChannel(
  1. void initializer(
    1. AsyncTask task,
    2. AsyncTaskChannel channel
    )
)

Resolves the channel instance. Called by AsyncExecutor when executing this task.

Implementation

AsyncTaskChannel? resolveChannel(
    void Function(AsyncTask task, AsyncTaskChannel channel) initializer) {
  if (_channelResolved) return _channelInstance;
  var channel = _channelInstance = channelInstantiator();

  if (channel != null) {
    initializer(this, channel);
  }

  _channelResolved = true;
  var waitingChannelToResolve = _waitingChannelToResolve;
  if (waitingChannelToResolve != null) {
    waitingChannelToResolve.complete(channel);
  }

  return channel;
}