WinJS.Promise.timeout function

This method has two forms: WinJS.Promise.timeout(timeout) and WinJS.Promise.timeout(timeout, promise). WinJS.Promise.timeout(timeout) creates a promise that is completed asynchronously after the specified timeout, essentially wrapping a call to setTimeout within a promise. WinJS.Promise.timeout(timeout, promise) sets a timeout period for completion of the specified promise, automatically canceling the promise if it is not completed within the timeout period.


var promise = WinJS.Promise.timeout(interval[, promise]);


  • timeout
    Type: Number

    The timeout period in milliseconds. If this value is zero or not specified, msSetImmediate is called, otherwise setTimeout is called.

  • promise
    Type: Promise

    Optional. A promise that will be canceled if it doesn't complete within the timeout period.

Return value

Type: Promise

If the promise parameter is omitted, returns a promise that will be fulfilled after the timeout period. If the promise paramater is provided, the same promise is returned.


For more information, see Setting timeout values with WinJS.xhr.

        function(complete) {
            // code that executes after the timeout has completed.
        function (error) {
            // code that takes care of the canceled promise. 
            // Note that .then rather than .done should be used in this case.


Minimum WinJS version

WinJS 1.0



See also