Exemple #1
0
        public static MondValue Delay(double seconds, MondValue cancellationToken = null)
        {
            AsyncUtil.EnsureAsync();

            var ct = AsyncUtil.AsCancellationToken(cancellationToken);

            if (!ct.HasValue)
            {
                throw new MondRuntimeException("Task.delay: second argument must be a CancellationToken");
            }

            var timeSpan = seconds >= 0 ?
                           TimeSpan.FromSeconds(seconds) :
                           TimeSpan.FromMilliseconds(-1);

            return(AsyncUtil.ToObject(Task.Delay(timeSpan, ct.Value)));
        }