void
pause(- [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();
}