pause method Null safety

void pause(
  1. [dynamic reason]
)

Implementation

void pause([dynamic reason]) {
  if (_state != SMHTaskState.processing && _state != SMHTaskState.waiting) {
    return;
  }
  _state = SMHTaskState.pause;
  stateStream.add(_state);
  SMHTaskInfo info = getTaskInfo();
  if (info.cancelToken?.isCancelled == false) {
    try {
      info.cancelToken?.cancel(reason);
    } catch (_) {}
  }
  if (finishCalBack != null) {
    SMHError smhError = SMHError();
    smhError.smhCode = 'Pause';
    smhError.smhMessage = 'pause';
    smhError.smhZhMessage = '暂停';
    smhError.error = reason;
    finishCalBack!(null, smhError);
  }

  currentQueue?.onTaskFinishHandle(this);
  currentQueue = null;
  receivePort.close();
  isolate.kill();
}