How do I do the equivalent of setTimeout + clearTimeout in Dart?

Danny Tuppeny picture Danny Tuppeny · Nov 21, 2014 · Viewed 12.3k times · Source

I'm porting some JavaScript to Dart. I have code that uses window.setTimeout to run a callback after a period of time. In some situations, that callback gets canceled via window.clearTimeout.

What is the equivalent of this in Dart? I can use new Future.delayed to replace setTimeout, but I can't see a way to cancel this. Nor can I find away to call clearTimeout from Dart.

Answer

Günter Zöchbauer picture Günter Zöchbauer · Nov 21, 2014

You can use the Timer class

import 'dart:async';

var timer = Timer(Duration(seconds: 1), () => print('done'));

timer.cancel();