Javascript 使用WinJS.Promise.Timeout(未定义)时会发生什么?
我正在尝试编写一个Windows应用程序。我很想知道当您传递WinJS.Promise.Timeout()未定义的值而不是一个数字毫秒值时会发生什么。这是否等同于将值0传递给函数,或者行为是不可预测的?根据设置,未指定此值时将调用setimmidate函数。这意味着当当前任务完成时,承诺就实现了 当您传递0时,将在内部使用JavaScript setTimeout函数。在某些系统上,此函数限制为每秒250次调用。将“undefined”传递给WinJS.Promise.Timeout()时,它不使用setTimeOut调用。因此,在某些情况下,它可能会更快一些Javascript 使用WinJS.Promise.Timeout(未定义)时会发生什么?,javascript,windows,winjs,Javascript,Windows,Winjs,我正在尝试编写一个Windows应用程序。我很想知道当您传递WinJS.Promise.Timeout()未定义的值而不是一个数字毫秒值时会发生什么。这是否等同于将值0传递给函数,或者行为是不可预测的?根据设置,未指定此值时将调用setimmidate函数。这意味着当当前任务完成时,承诺就实现了 当您传递0时,将在内部使用JavaScript setTimeout函数。在某些系统上,此函数限制为每秒250次调用。将“undefined”传递给WinJS.Promise.Timeout()时,它不
您可以在上找到有关setImmidate函数的更多信息。正如Sorskot所解释的,该代码清楚地表明,如果间隔为零或未定义,则调用setImmediate。文件()明确说明了这一点:
timeout
Type: Number
The timeout period in milliseconds. If this value is zero or not specified, msSetImmediate is called, otherwise setTimeout is called.
它实际上只是说零或未定义的超时应该只产生UI线程,然后完成