рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ: рд▓реЗрдЦ WinJS 2.0 рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдирдП рдХрд╛рд░реНрдп рдЕрдиреБрд╕реВрдЪрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ 8.1 рдХреА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рд╛рдордЧреНрд░реА рдХреЗ рднрд╛рдЧ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрд╕реНрдердЧрд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ (рдкреНрд░реЙрдорд┐рд╕) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рд╣реА рд╡рд╛рдВрдЫрдиреАрдп рд╣реИред рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ MSDN рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВредрд╡реЗрдм рд╡рд░реНрдХрд░реНрд╕ рдФрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдЯрд╛рд╕реНрдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реЗрдм рдкреНрд░реЛрд╕реЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ, рд╡рд┐рдВрдбреЛрдЬ рд╕реНрдЯреЛрд░ рдПрдкреНрд╕ рдореЗрдВ рд╕рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддрдерд╛рдХрдерд┐рдд рдпреВрдЖрдИ рдереНрд░реЗрдб рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВред рдпрд╣ рдХреЛрдб рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ WinRT API рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдереНрд░реЗрдбреНрд╕ рдкрд░ рдЕрдкрдирд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИ: рдЗрди рдЧреИрд░-UI рдереНрд░реЗрдбреНрд╕ рд╕реЗ рдкрд░рд┐рдгрд╛рдо UI рдереНрд░реЗрдб рдкрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ WinRT рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЙрд▓ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╢реБрд░реВ рдХрд░рдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, HTTP рдЕрдиреБрд░реЛрдз), рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдпреВрдЖрдИ рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрдзрд┐рднрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЖрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк (рдпрд╛ WinJS) DOM рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдпрд╛ рдЙрди рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП UI рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдкреЗрдЬ рд▓реЗрдЖрдЙрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ CPU рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдФрд░ рднреА рдЕрдзрд┐рдХ рдХрд╛рд░реНрдп рдмрдирд╛рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди "рдмреНрд░реЗрдХрд┐рдВрдЧ" рдФрд░ рдЕрдиреБрддреНрддрд░рджрд╛рдпреА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд┐рдВрдбреЛрдЬ 8 рдореЗрдВ, рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдРрд╕реЗ рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрджрдо рдЙрдард╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпреВрдЖрдИ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд░рд┐рдЯрд░реНрди рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдмреНрд▓реЙрдХ рдХреЗ рднреАрддрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдЪрд▓рд╛рдПрдВ, рдпрд╛ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдПрдХрд▓ рдкрд╛рд╕ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреГрд╖реНрда рддрд╛рдЬрд╝рд╛ рдЪрдХреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡рд┐рдВрдбреЛрдЬ 8.1 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛, рдпреВрдЖрдИ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд╕реАрдзреЗ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ред
рдпрджреНрдпрдкрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реЛрд╕реНрдЯ рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╢реЗрдбреНрдпреВрд▓рд░ API (
MSApp.executeAtPyerity ) рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд╣рдо рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп WinJS.Utilities.Scheduler API рдХрд╛
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ред рдЗрд╕ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреЗ рдХрд╛рд░рдг рд╣реИрдВ рдХрд┐ WinJS рдЗрд╕ рд╢реЗрдбреНрдпреВрд▓рд░ API рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ WinJS рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рдареАрдХ рд╕реЗ рд╕рдордиреНрд╡рдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред WinJS рд╢реЗрдбреНрдпреВрд▓рд░ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдПрдХ рд╕рд░рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИред
рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЕрдиреБрд╕реВрдЪрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЯреНрдпреВрди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рди рдХрд┐ рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП! рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рд╢реЗрдбреНрдпреВрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рджреЗрдЦреЗрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЗрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рд░реНрдп рдХреА рдпреЛрдЬрдирд╛ рдФрд░ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░реЗрдВред
рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЕрдиреБрд╕реВрдЪрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЯреНрдпреВрди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рди рдХрд┐ рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП! рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рд╢реЗрдбреНрдпреВрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рджреЗрдЦреЗрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЗрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рд░реНрдп рдХреА рдпреЛрдЬрдирд╛ рдФрд░ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░реЗрдВред
рд╕рдордпрдмрджреНрдзрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдБ
WinJS рдЕрдиреБрд╕реВрдЪрдХ рдХреЗ рд▓рд┐рдП рд╕рд╛рдкреЗрдХреНрд╖ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдБ
Scheduler.Pyerity рдЧрдгрди рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдШрдЯрддреЗ рдХреНрд░рдо рдореЗрдВ рд╡реЗ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ:
рдЕрдзрд┐рдХрддрдо ,
рдЙрдЪреНрдЪ , рдКрдкрд░
рдЕрд╕рд╛рдорд╛рдиреНрдп ,
рд╕рд╛рдорд╛рдиреНрдп (рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди),
рдиреАрдЪреЗ ,
рдЕрд╕рд╛рдорд╛рдиреНрдп ,
рдирд┐рд╖реНрдХреНрд░рд┐рдп рдФрд░
рдорд┐рдирдЯ ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЧрд╛рдЗрдб рд╣реИ:
- рдЕрдзрд┐рдХрддрдо, рдЙрдЪреНрдЪ - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдкреНрд░рддрд┐рдкрд╛рджрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдкреГрд╖реНрда рд░реЗрдВрдбрд░рд┐рдВрдЧ рдорд╛рд░реНрдЧ рдХреЛ рдУрд╡рд░рд▓реИрдк рдХрд░рддреА рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЗрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХрд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрд╡реЗрджрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдо рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
- рдКрдкрд░ рд╕рд╛рдорд╛рдиреНрдп, рд╕рд╛рдорд╛рдиреНрдп, рдиреАрдЪреЗ рд╕рд╛рдорд╛рдиреНрдп - рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдкреЗрдХреНрд╖ рдорд╣рддреНрд╡ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рдирд┐рд╖реНрдХреНрд░рд┐рдп, рдорд┐рдирдЯ - рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдпрд╛ рд╕рдорд░реНрдерди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рдпреВрдЖрдИ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рддреЗ рд╣реИрдВред
рдпрджреНрдпрдкрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдПрдХ рдЕрдиреБрд╕реВрдЪрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдереЛрдбрд╝рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдЬрд╣рд╛рдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдПрдХ рдмрдбрд╝реА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛ рд╕рдХрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЫрдк рд╕реНрдХреНрд░реАрди рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЧреИрд░-рдпреВрдЖрдИ рдСрдкрд░реЗрд╢рди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдкреНрд▓реИрд╢ рд╕реНрдХреНрд░реАрди рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг HTTP рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ рдпрд╛
рдЙрдЪреНрдЪ рдЬрдмрдХрд┐ рджреНрд╡рд┐рддреАрдпрдХ рдЕрдиреБрд░реЛрдз
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╣реИрдВ ред рдЗрд╕рд╕реЗ рд╣реЛрдо рдкреЗрдЬ рдбреНрд░рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрди рдкрд╣рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА, рдЬрд┐рд╕ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рдЙрдореНрдореАрдж рд╣реИ, рдФрд░ рдлрд┐рд░ рдЖрдк рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рджреНрд╡рд┐рддреАрдпрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрд╕ рдкреГрд╖реНрда рдкрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдорд╛рдзреНрдпрдорд┐рдХ рд╕рд╛рдордЧреНрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдХрд╛рд░реНрдп рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ
рдЙрдкрд░реЛрдХреНрдд рдпрд╛
рдЙрдЪреНрдЪрддрд░ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
WinJS рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрд╡рдпрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдХрд░рдг рдХрд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣
рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдкрд░рд┐рд╡рд░реНрддрди рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛
рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдлрд╛рдИ рдХрд╛рд░реНрдп рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЬрдЯрд┐рд▓ рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реВрдЪреА рджреГрд╢реНрдп, рд╕реВрдЪреА рджреГрд╢реНрдп рдХреЗ рднрд╛рдЧ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирдП рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рджреГрд╢реНрдп рддрддреНрд╡реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди
рдЙрдкрд░реЛрдХреНрдд рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрддреНрд╡реЛрдВ рдХреЗ рдЕрдЧрд▓реЗ рдкреГрд╖реНрда рдХреЛ рдЖрдЧреЗ (рдЖрдЧреЗ)
рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЗ рддрд╣рдд рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдЧрд╛ рдЖрдЧреЗ), рдФрд░ рдкрд┐рдЫрд▓реЗ рдкреГрд╖реНрда (рд░рд┐рд╡рд░реНрд╕ рдкреЗрдЬрд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП) рдХреЛ рдкреВрд░реНрд╡-
рд▓реЛрдб рдХрд░рдирд╛
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП
рдЕрд╕рд╛рдорд╛рдиреНрдп рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рд░реНрдзрд╛рд░рдг рдФрд░ рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрди
рдЕрдм рдЬрдм рд╣рдо рдЕрдиреБрд╕реВрдЪрдХ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕ рдмрд╛рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде UI рдереНрд░реЗрдб рдореЗрдВ рдХреЛрдб рдХреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
Scheduler.schedule рд╡рд┐рдзрд┐ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рд╛рдердорд┐рдХрддрд╛
рд╕рд╛рдорд╛рдиреНрдп рд╣реИ ) рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред рдпрд╣ рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрддреА рд╣реИ, рд╕рд╛рде рд╣реА рд▓реЙрдЧ рдФрд░ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд╛рдоред (
Scheduler.execHigh рдкрджреНрдзрддрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде
MSApp.execAtPriority рдХреЛ рд╕реАрдзреЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдВрджрд░реНрдн рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рдирд╣реАрдВ рд▓реЗрддреА рд╣реИред)
рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЪрд┐рддреНрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ,
HTML рд╕рдордпрдмрджреНрдзрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдкрд░рд┐рджреГрд╢реНрдп 1 рдЕрдиреБрд╕реВрдЪрдХ рдХреЛ рдХреБрдЫ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ (js / рдЕрдиреБрд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдореБрдЦреНрдп рд╕рдВрдкрд╛рджрдХ) рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ:
window.output("\nScheduling Jobs..."); var S = WinJS.Utilities.Scheduler; S.schedule(function () { window.output("Running job at aboveNormal priority"); }, S.Priority.aboveNormal); window.output("Scheduled job at aboveNormal priority"); S.schedule(function () { window.output("Running job at idle priority"); }, S.Priority.idle, this); window.output("Scheduled job at idle priority"); S.schedule(function () { window.output("Running job at belowNormal priority"); }, S.Priority.belowNormal); window.output("Scheduled job at belowNormal priority"); S.schedule(function () { window.output("Running job at normal priority"); }, S.Priority.normal); window.output("Scheduled job at normal priority"); S.schedule(function () { window.output("Running job at high priority"); }, S.Priority.high); window.output("Scheduled job at high priority"); window.output("Finished Scheduling Jobs\n");
рдкрд░рд┐рдгрд╛рдо рд╡рд┐рдВрдбреЛ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ "рдХрд╛рд░реНрдп", рдЬрдм рдЙрдиреНрд╣реЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рдХреНрд░рдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
Scheduling Jobs... Scheduled job at aboveNormalPriority Scheduled job at idlePriority Scheduled job at belowNormalPriority Scheduled job at normalPriority Scheduled job at highPriority Finished Scheduling Jobs Running job at high priority Running job at aboveNormal priority Running job at normal priority Running job at belowNormal priority Running job at idle priority
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ!
рдЬрдм рдЖрдк
рд╢реЗрдбреНрдпреВрд▓ рдореЗрдердб рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рдРрд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдорд┐рд▓рддреА рд╣реИ рдЬреЛ
рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреА рд╣реИред
Job рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдЬреЛ рдирд┐рдореНрди рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдЧреБрдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ:
рдЧреБрдг
- рдЖрдИрдбреА - (рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП) рдЕрдиреБрд╕реВрдЪрдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрджреНрд╡рд┐рддреАрдп рдЖрдИрдбреАред
- рдирд╛рдо - (рдкрдарди-рдкрд╛рдарди) рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХрд╛ рдирд╛рдо, рдпрджрд┐ рдХреЛрдИ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ (рд╢реЗрдбреНрдпреВрд▓ рд╡рд┐рдзрд┐ рдореЗрдВ рдирд╛рдо-рд╡рд┐рд╢реЗрд╖рддрд╛)ред
- рдкреНрд░рд╛рдердорд┐рдХрддрд╛ - (рдкрдврд╝рдиреЗ-рд▓рд┐рдЦрдиреЗ) рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЬрдм рдЕрдиреБрд╕реВрдЪрдХ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ; рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрджрд▓ рдЬрд╛рдПрдЧреАред
- рдкреВрд░реНрдг - (рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП) рдПрдХ рдмреВрд▓рд┐рдпрди рдорд╛рди рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛ (рдлрд╝рдВрдХреНрд╢рди рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЛ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕рднреА рдЖрд╢реНрд░рд┐рдд рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдп рднреА рдкреВрд░рд╛ рд╣реЛ рдЧрдП рд╣реИрдВ)ред
- рд╕реНрд╡рд╛рдореА - (рдкрдврд╝рд╛-рд▓рд┐рдЦрд╛) рд╕рдореВрд╣ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреБрдХреНрдд рд╕реНрд╡рд╛рдореА рд╡рд┐рд╢реЗрд╖рддрд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВред
рддрд░реАрдХреЛрдВ
- рдард╣рд░рд╛рд╡ - рдХрд╛рд░реНрдп рдХреЗ рдЖрдЧреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред
- рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ - рдПрдХ рдкрд╣рд▓реЗ рд╕реЗ рд░реБрдХрд╛ рд╣реБрдЖ рдХрд╛рд░реНрдп рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ (рдпрджрд┐ рдХрд╛рд░реНрдп рд░реЛрдХрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ рддреЛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ)ред
- рд░рджреНрдж - рд╢реЗрдбреНрдпреВрд▓рд░ рд╕реЗ рдХрд╛рд░реНрдп рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрджрд┐ рдЖрдкрдиреЗ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕ рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВ рдЬрд╣рд╛рдВ рдХрд╛рд░реНрдп рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдЗрд╕рдХреА
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ (рдФрд░ рдлрд┐рд░ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдмрд╣реБрдд рдЬрд▓реНрдж рджреЗрдЦреЗрдВрдЧреЗ)ред рдЗрд╕реА рддрд░рд╣, рдпрджрд┐ рдЖрдкрдиреЗ рдкреГрд╖реНрда рдкрд░ рдХреБрдЫ рдХрд╛рдо рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдерд╛рди рдкрд░ рдЬрд╛рддреЗ рд╕рдордп рдЗрд╕рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИ рд╣реИ, рддреЛ рдкреГрд╖реНрда рдХреЗ
рдЕрдирд▓реЛрдб рд╡рд┐рдзрд┐ рдореЗрдВ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА
рд░рджреНрдж рдкрджреНрдзрддрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░рд╛рд░рдВрдн рдкреГрд╖реНрда рд╣реЛ рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЖрдорддреМрд░ рдкрд░ рд╡рд┐рд╕реНрддреГрдд рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рд╡рд┐рд╕реНрддреГрдд рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдиреЗ рдкрд░ рдкреНрд░рд╛рд░рдВрдн рдкреГрд╖реНрда рдкрд░ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдп рдХреЛ
рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВ (
рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВ) рдФрд░ рдЬрдм рдЖрдк рд╡рд╛рдкрд╕ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ
рдлрд┐рд░ рд╕реЗ
рд╢реБрд░реВ (
рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ ) рдЬрд╛рд░реА рд░рдЦреЗрдВред рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ 2 рдФрд░ 3 рджреЗрдЦреЗрдВред
рдкрд░рд┐рджреГрд╢реНрдп 2 рдореЗрдВ
рдорд╛рд▓рд┐рдХ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдХреЛрдб рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВ)ред рд╕реНрд╡рд╛рдореА рд╡рд┐рд╢реЗрд╖рддрд╛ (рдЯреЛрдХрди)
Scheduler.createOwnerToken рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рдлрд┐рд░ рдЯрд╛рд╕реНрдХ рдХреЗ
рдорд╛рд▓рд┐рдХ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ рдкрд┐рдЫрд▓реЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ)ред рд╕реНрд╡рд╛рдореА рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗрд╡рд▓ рдПрдХрд▓
рд░рджреНрдж рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ рд╣реИ, рдЬреЛ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП
рд░рджреНрдж рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╕рдВрд▓рдЧреНрди рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВред рдпрд╣ рдПрдХ рд╕рд░рд▓ рддрдВрддреНрд░ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдкрдХреЛ рдЗрд╕ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдФрд░ рдЙрдирдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред (рдард╣рд░рд╛рд╡ рдФрд░ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдкреИрдЯрд░реНрди рдХреЛ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВред)
рдПрдХ рдЕрдиреНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдиреБрд╕реВрдЪрдХ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛
рдЕрдиреБрд░реЛрдз рддрд░реАрдХрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдпреВрдЖрдИ рдереНрд░реЗрдб рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХреЗ рд╕рд╛рде рд╕рднреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдп рдкреВрд░реЗ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдкреВрд░реЗ рд╣реЛ рдЬрд╛рдПрдВред
requestDrain рдПрдХ рд▓рдВрдмрд┐рдд рдкрд░рд┐рдгрд╛рдо (рд╡рд╛рджрд╛)
рд▓реМрдЯрд╛рддрд╛ рд╣реИ , рдЬрд┐рд╕реЗ рддрдм рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╕рднреА рдХрд╛рд░реНрдп "рдХреНрд▓рд┐рдпрд░" рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдЖрдк рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирдП рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рджрд░реНрд╢рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп 5 рдореЗрдВ рд╣реИред рдЗрд╕рдореЗрдВ рджреЛ рдмрдЯрди рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рд╣реА рд╕реЗрдЯ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░
рдЕрдиреБрд░реЛрдз рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ рдЬреЛ рдХрд┐ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдпрд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕реЗ
рдиреАрдЪреЗ рд╣реЛ ред рдЬрдм рд╡рд┐рд▓рдВрдмрд┐рдд рдкрд░рд┐рдгрд╛рдо рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ (js / drainingscenario.js):
S.requestDrain(priority).done(function () { window.output("Done draining"); });
рдпрджрд┐ рдЖрдк рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рджреЛ рдЖрдЙрдЯрдкреБрдЯ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ (рдмрд╛рдИрдВ рдУрд░
рдЙрдЪреНрдЪ , рдиреАрдЪреЗ рджрд╛рдИрдВ рдУрд░
рдЕрд╕рд╛рдорд╛рдиреНрдп ), рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╡рд┐рд▓рдВрдмрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдордп рдкрд░ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ:
Draining scheduler to high priority | Draining scheduler to belowNormal priority Running job2 at high priority | Running job2 at high priority Done draining | Running job1 at normal priority Running job1 at normal priority | Running job5 at normal priority Running job5 at normal priority | Running job4 at belowNormal priority Running job4 at belowNormal priority | Done draining Running job3 at idle priority | Running job3 at idle priority
рдЕрдиреБрд╕реВрдЪрдХ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдПрдХ рдЕрдиреНрдп рд╡рд┐рдзрд┐
рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рд╣реИ , рдПрдХ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдЙрдкрдХрд░рдг рдЬреЛ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпреЛрдВ рдпрд╛ рд╕рдлрд╛рдИ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдкрд░рд┐рджреГрд╢реНрдп 5 рдореЗрдВ рдЖрдк
рдЕрдиреБрд░реЛрдз рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЗрд╕рдХрд╛ рдХреЙрд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдирд┐рдореНрди рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗрдВрдЧреЗ:
id: 28, priority: high id: 27, priority: normal id: 31, priority: normal id: 30, priority: belowNormal id: 29, priority: idle n requests: *priority: high, name: Drain Request 0
рдЖрд╕реНрдердЧрд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛
рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рдЙрдирдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛:
getCriticalDataAsync().then(function (results1) { var secondaryPages = processCriticalData(results1); return getSecondaryDataAsync(secondaryPages); }).then(function (results2) { var itemsToCache = processSecondaryData(results2); return getBackgroundCacheDataAsync(itemsToCache); }).done(function (results3) { populateCache(results3); });
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рд╕рдм рдХреЛрдб UI рдереНрд░реЗрдб рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдмрд╛рдХреА рд╕рднреА рдЪреАрдЬреЛрдВ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╡рд░реНрддрдорд╛рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдЖрдк рд╢рд╛рдпрдж рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐
ProcessCriticalData рдлрд╝рдВрдХреНрд╢рди рдХреЛ
рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛
рдЬрд╛рдП ,
processSecondaryData рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░
рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
populateCache ред рд╕реАрдзреЗ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рдЖрдкрдХреЛ рд╣рд░ рдХрд╛рдо рдореБрд╢реНрдХрд┐рд▓ рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
var S = WinJS.Utilities.Scheduler; getCriticalDataAsync().done(function (results1) { S.schedule(function () { var secondaryPages = processCriticalData(results1); S.schedule(function () { getSecondaryDataAsync(secondaryPages).done(function (results2) { var itemsToCache = processSecondaryData(results2); S.schedule(function () { getBackgroundCacheDataAsync(itemsToCache).done(function (results3) { populateCache(results3); }); }, S.Priority.idle); }); }, S.Priority.normal); }, S.Priority.high); });
рд╣рдорд╛рд░реА рд░рд╛рдп рдореЗрдВ, рдбреЗрдВрдЯрд┐рд╕реНрдЯ рдХреЗ рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХреА рддрд░рд╣ рдПрдХ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдордЬреЗрджрд╛рд░ рд╣реИ! рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдФрд░ рд▓рдВрдмрд┐рдд рдкрд░рд┐рдгрд╛рдо рдХреЗ рдЕрдВрджрд░ рдПрдХ рдирдИ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рдкреЗрдЯ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдЖрдк рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдкреВрд░реНрдг рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛, рдЬреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рд╕реЗ рдкрд░рд┐рдгрд╛рдо рд▓реЗрдЧрд╛, рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╢реЗрдбреНрдпреВрд▓ рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрд╕реА рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╛рджрд╛ рд╡рд╕реНрддреБ рд▓реМрдЯрд╛рдПрдЧрд╛:
function schedulePromise(priority) {
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдореЗрдВ рдпрд╣ рдХреЛрдб рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рд▓рд┐рдЦрдирд╛ рд╣реИред
WinJS.Utilities.Scheduler рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдКрдкрд░ рдХреА рддрд░рд╣ рдкрд╛рдВрдЪ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдкреВрд░реНрдг рд╣реИрдВрдбрд▓рд░ рд╣реИрдВ, рдЬреЛ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдХреЛ рднреА рд░рджреНрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдХреНрд░рдорд╢рдГ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
рд╢реЗрдбреНрдпреВрд▓рдкреНрд░реЛрдорд┐рд╕реЗрд╣ ,
рд╢реЗрдбреНрдпреВрд▓рдкреНрд░реЛрдорд┐рд╕рдПрдмреЛрд╡реЗрдиреЙрд░реНрдорд▓ ,
рд╢реЗрдбреНрдпреВрд▓рдкреНрд░реЛрдорд┐рд╕рдиреЙрд░реНрдорд▓ ,
рд╢реЗрдбреНрдпреВрд▓рдкреНрд░реЛрдорд┐рд╕рдмреЗрд▓реЛрд╡реЗрдиреЙрд░реНрдорд▓ рдФрд░
рд╢реЗрдбреНрдпреВрд▓рдкреНрд░реЛрдорд┐рд╕рдЗрд▓реНрдб ред
рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдкреВрд░реНрдг рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд▓рдВрдмрд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╕рд╣реА рд╡рд┐рдзрд┐ рдирд╛рдо рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдк рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
var S = WinJS.Utilities.Scheduler; getCriticalDataAsync().then(S.schedulePromiseHigh).then(function (results1) { var secondaryPages = processCriticalData(results1); return getSecondaryDataAsync(secondaryPages); }).then(S.schedulePromise.normal).then(function (results2) { var itemsToCache = processSecondaryData(results2); return getBackgroundCacheDataAsync(itemsToCache); }).then(S.schedulePromiseIdle).done(function (results3) { populateCache(results3); });
рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рд▓рдВрдмрд┐рдд рдХреЙрд▓ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЙрдирдХреЗ рдирд╛рдо рдбрд╛рд▓реЗрдВред рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реАрдзреЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдпрд╣ рд╡рд░реНрддрдорд╛рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп
рдХрд╛рдо рдХреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдг рдЬреЛ рд╣рдордиреЗ рдЗрд╕ рд╕рдордп рд╕рдореАрдХреНрд╖рд╛ рдХрд┐рдП рд╣реИрдВ, рд╡реЗ рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╣реИрдВ рдХрд┐ рд╣рдо рдХреБрдЫ рдХрд╛рд░реНрдп рдХрд╛рд░реНрдп рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдХреЙрд▓ рдХреЗ рд╕рдордп рдЕрдкрдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рдЕрдкрдиреЗ UI рдереНрд░реЗрдб рдореЗрдВ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рдо рдХреЛ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рдкрд╛рд╕ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░рд╛рд▓ рдЕрдВрддрд░рд╛рд▓ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдпрд╛ рдирд┐рдореНрди рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдирд┐рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХрд╛рд░реНрдп рдпрд╣ рдЬрд╛рдВрдЪ рд╕рдХреЗ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ "рд╕рд╣рдХрд╛рд░реА" рднреАрдбрд╝ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрд╛рд░реНрдп рдХреЗ рдЕрдЧрд▓реЗ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдкреБрдирд░реНрдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ рд╣рдореЗрдВ "рд╕рд╣рдХрд╛рд░реА" рд╢рдмреНрдж рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдХреБрдЫ рднреА рдХрд╛рд░реНрдп рдХреЛ рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕реНрдердЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдпрд╣ рд╕рдм рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рдпреВрдЖрдИ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреВрд░реЗ рдЖрд╡реЗрджрди рдХреЛ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрджрд┐ рдЖрдк рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рд╕реЗ рдирд╣реАрдВ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЦреБрдж рдХреЛ рдЦреБрдж рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рдПрдВрдЧреЗред !
рдРрд╕реЗ рдкреИрдВрддрд░реЗрдмрд╛рдЬрд╝реА рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддрдВрддреНрд░ рдХреЛ
jobInfo рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд╛рд░реНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдпрд╣ рджреЗрдЦрдХрд░ рд╢реБрд░реВ рдХрд░реЗрдВ, рдпрд╣ рдЖрдзрд╛рд░ рдХреЛрдб рдХреЗ рдЕрдВрджрд░ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ:
var job = WinJS.Utilities.Scheduler.schedule(function worker(jobInfo) {
рдХрд╛рд░реНрдп рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ
рдЕрдиреБрд╕реВрдЪрд┐рдд рдЕрдиреБрд╕реВрдЪрдХ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛
рдЬрд╛рддрд╛ рд╣реИ ред
JobInfo рдЗрдВрдЯрд░рдлрд╝реЗрд╕:
рдЧреБрдг
- job - (рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП) рд╡рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЛ рд╢реЗрдбреНрдпреВрд▓ рд╕реЗ рд▓реМрдЯрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
- shouldYield - (рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП) рдмреВрд▓рд┐рдпрди рдзреНрд╡рдЬ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рддрдм рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХрд╛рд░реНрдп рдкрд╣рд▓реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рддрдм рд╕рд╣реА рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ UI рдереНрд░реЗрдб рд╕реЗ рдмрд╛рд╣рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рддрд░реАрдХреЛрдВ
- рд╕реЗрдЯрд╡рд░реНрдХ рдПрдХ рдХрд╛рд░реНрдп рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИред
- setPromise рдПрдХ рд╡рд┐рд▓рдВрдмрд┐рдд рдкрд░рд┐рдгрд╛рдо рд╣реИ, рдЬреЛ рд╢реЗрдбреНрдпреВрд▓рд░ рддрдм рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдХрд╛рд░реНрдп рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реЗрдбреНрдпреВрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреБрдирд░реНрдирд┐рд░реНрдзрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рд╡рд┐рд▓рдВрдмрд┐рдд рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп рд╣реИред
HTML рд╢реЗрдбреНрдпреВрд▓рд░ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдкрд░рд┐рджреГрд╢реНрдп 4 рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред рдЬрдм рдЖрдк "рдПрдХ рдкреИрджрд╛рд╡рд╛рд░ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬрд┐рд╕реЗ
рдирд┐рд╖реНрдХреНрд░рд┐рдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЛ рд╢реЗрдбреНрдпреВрд▓рд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреЗрд╡рд▓ "рдкреВрд░реНрдг рдЙрдкрдЬ рдХрд╛рд░реНрдп" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рддрдХ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдЪрдХреНрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд╛рд░реНрдп рдХреЛ
рд╕рд╣реА рд╕реЗрдЯ рдХрд░рддрд╛
рд╣реИ (js) /yieldingscenario.js, 2s рдЕрдВрддрд░рд╛рд▓ рдкрд░, 200ms рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд):
S.schedule(function worker(jobInfo) { while (!taskCompleted) { if (jobInfo.shouldYield) {
рдпрджрд┐ рдХрд╛рд░реНрдп рд╕рдХреНрд░рд┐рдп рд╣реИ, рддреЛ рдпрд╣ 200ms рдХреЗ рд▓рд┐рдП "рдХрд╛рдо" рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛
onYield рдХреА рд╕рдВрдкрддреНрддрд┐
рд╕рд╣реА рд╣реИ рдпрд╛ рдирд╣реАрдВ ред рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдлрд╝рдВрдХреНрд╢рди
рд╕реЗрдЯрд╡рд░реНрдХ рд╡рд┐рдзрд┐ рдХреЛ рд╕реНрд╡рдпрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдХрд╣рддрд╛ рд╣реИ (рдпрд╛ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдПрдХ рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди)ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рдВрдХреНрд░рдордг рдХреЛ рдЙрдХрд╕рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд▓рдВрдмреЗ рдХрд╛рд░реНрдп рдЙрджрд╛рд╣рд░рдг рдореЗрдВ "рдХрддрд╛рд░ рдореЗрдВ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдпреЗ рдлрд╝рдВрдХреНрд╢рди (рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде) рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдЧрд▓реЗ рдХреЙрд▓ рддрдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдХрд╣реАрдВ рдФрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд╛рд░реНрдп UI рд╕реНрдЯреНрд░реАрдо рдХреЛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдХрд╛рдордХрд╛рдЬреА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╢реБрд░реБрдЖрдд рдореЗрдВ рддреБрд░рдВрдд
рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд╣рд▓реЗ рдереЛрдбрд╝рд╛ рдХрд╛рдо рдХрд░рдирд╛ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдФрд░ рдлрд┐рд░ рдПрдХ рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдпрд╣ рдЖрдкрдХреЗ рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рднреАрддрд░ рд╕рд╣рдпреЛрдЧ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЗ рддрд╛рд▓реЗ рдЖрдкрдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рд╣реИрдВред
рдХреЗ рд░реВрдк рдореЗрдВ
setPromise рдХреЗ рд▓рд┐рдП , рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕реВрдХреНрд╖реНрдо рд╡рд┐рдЪрд╛рд░ рд╣реИред
рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрдкреНрд░реЛрдорд╛рдЗрдЬрд╝ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдЬрдм рддрдХ рдХрд┐ рдХрд╛рд░реНрдп рдореЗрдВ
рдкреБрди: рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рд╡рд┐рд▓рдВрдмрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рдХрдЯ рди рд╣реЛред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХрд╛рд░реНрдп рдлрд╝рдВрдХреНрд╢рди рд╕реАрдзреЗ рдЖрд╕реНрдердЧрд┐рдд рдкрд░рд┐рдгрд╛рдо рдХреЗ рдореВрд▓реНрдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред (рдЬреИрд╕реЗ,
IJobInfo.setPromise рд╡рд┐рдзрд┐ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ
рдХрд░рддреА рд╣реИ , рдХреНрдпреЛрдВрдХрд┐ WinJS рдХреЗ рдЕрдВрджрд░ рдЕрдиреНрдп
рд╕реЗрдЯрдкреНрд░реЛрдорд╛рдЗрдЬрд╝ рд╡рд┐рдзрд┐рдпрд╛рдБ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ WinRT рдореЗрдВ рджреЗрд░реА рддрдВрддреНрд░ рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИрдВред рдпрджрд┐ рдЖрдк рдХреБрдЫ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдПрдкреАрдЖрдИ рд╕реЗ рд╡рд┐рд▓рдВрдмрд┐рдд рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде
JJobInfo.setPromise рдХрд╣рддреЗ рд╣реИрдВред рд╢реЗрдбреНрдпреВрд▓рд░ рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛ - рдпрд╣ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреБрдЫ рднреА - рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ, рдЬреЛ рдЕрдкрд╡рд╛рдж рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИред)
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЕрдЧрд░
рд╕реЗрдЯрд╡рд░реНрдХ рдХрд╣рддрд╛ рд╣реИ "рдЪрд▓реЛ рдЗрд╕ рдХрд╛рд░реНрдпрд╢реАрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдпрд╣рд╛рдВ рдкреБрдирд░реНрдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ", рддреЛ
рд╕реЗрдЯрдкреНрд░реЛрдорд╛рдЗрдЬ рдХрд╣рддрд╛ рд╣реИ "
рдкреБрди: рдирд┐рд░реНрдзрд╛рд░рдг рдХреЗ рд╕рд╛рде
рдереЛрдбрд╝рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдВ, рддрдм рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдЖрдкрдХреЛ рд╡рд╣ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рджреЗрддрд╛ рдЬреЛ рдЖрдкрдХреЛ рдХреБрдЫ рд╕рдордп рдмрд╛рдж рдЪрд╛рд╣рд┐рдПред" рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рдХрддрд╛рд░ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХреЗ рд╕рд╛рде рдХрдИ рдиреМрдХрд░рд┐рдпреЛрдВ рд╕реЗ рдмрдирд╛ рдХрд╛рд░реНрдп рдХрддрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╣реИрдВ:
var workQueue = []; function addToQueue(worker) { workQueue.push(worker); } S.schedule(function processQueue(jobInfo) { while (work.length) { if (jobInfo.shouldYield) { jobInfo.setWork(processQueue); return; } work.shift()();
рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЕрдиреБрд╕реВрдЪрдХ рдХреЗ рдкрд╣рд▓реЗ рдЖрд╣реНрд╡рд╛рди рдХреЗ рд╕рдордп рдХрддрд╛рд░ рдореЗрдВ рдХреБрдЫ рдХрд╛рдо рд╣реИ, рдЗрд╕
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ
рдХрд╛рд░реНрдпрдХрд╛рд░рд┐рдгреА "рд╕рд╣рдХрд╛рд░реА" рдЗрд╕ рдХрддрд╛рд░ рдХреЛ рдореБрдХреНрдд рдХрд░реЗрдЧреАред рдФрд░, рдпрджрд┐ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдирдИ рдиреМрдХрд░рд┐рдпреЛрдВ рдХреЛ рдХрддрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдЧреЗ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП
рдкреНрд░реЛрд╕реЗрд╕рдХреНрдпреВ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдХрддрд╛рд░ рдЦрд╛рд▓реА рд╣реЛрддреА рд╣реИ, рддреЛ рдкреНрд░реЛрд╕реЗрд╕рдХреНрдпреВ рдлрд╝рдВрдХреНрд╢рди рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк рдЬреЛ рднреА рдиреМрдХрд░рд┐рдпрд╛рдВ рдХрддрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕рдордп-рд╕рдордп рдкрд░
рд╕реЗрд╡рд░рд╡рд░реНрдХ рдХреЛ рдХреЙрд▓рдХреНрдпреВ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдХрддрд╛рд░ рдЦрд╛рд▓реА рд╣реЛ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдмрд░реНрдмрд╛рджреА рд╣реЛрдЧреАред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдк
рд╕реЗрдЯрдкреНрд░реЛрдорд╛рдЗрдЬрд╝ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЛ рдХрддрд╛рд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдирдИ рдиреМрдХрд░реА рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛:
var workQueue = []; var haveWork = function () { };
рдЗрд╕ рдХреЛрдб рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдордиреЗ рдХреБрдЫ рдХрд╛рдо рдХреЗ
рд╕рд╛рде рдХрд╛рд░реНрдп-
рд╕реНрдерд▓ рднрд░рд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдПрдХ
рд╢реЗрдбреНрдпреВрд▓ рдХреЙрд▓ рдХрд░реЗрдВред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдФрд░ рдЖрдЧреЗ, рдЬрдм рддрдХ рдХрддрд╛рд░ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рд╣рдо
рдкреНрд░реЛрд╕реЗрд╕рдХреНрдпреВрд╡реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ
рд▓реВрдк рдХреЗ рдЕрдВрджрд░ рд╣реИрдВред рдЦрд╛рд▓реА
рд╣реИрд╡рд╡рд░реНрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рд╡рд╕реНрддреБрддрдГ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрдЪрд╛рд▓рди рдХреА
рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ
рд╣реЛрддреА рд╣реИ ред
рдпрджрд┐ рдХрддрд╛рд░ рдЦрд╛рд▓реА рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╣рдо
рд▓реВрдк рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди
рдкреНрд░реЛрд╕реЗрд╕рдХреНрдпреВ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд▓рдирд╛ рдЪрд╛рд╣рддреЗред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рд╢реЗрдбреНрдпреВрд▓рд░ рд╕реЗ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рддрдХ рдПрдХ рдирдИ рдиреМрдХрд░реА рдХрддрд╛рд░ рдореЗрдВ рдирд╣реАрдВ рдбрд╛рд▓реА рдЬрд╛рддреА рддрдм рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕
рд╣реИрд╡реЙрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯрдм рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ
рдкреНрд░реЛрд╕реЗрд╕рдХреНрдпреВрдпреВ рдореЗрдВ рд╕реНрдердЧрд┐рдд рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛рд░реНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдзрд╛рд░рдг рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ рд╣реА рд▓рдХреНрд╖реНрдп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
рд╣реИрд╡реЙрдХ рдлрд╝рдВрдХреНрд╢рди
рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
haveWork = completeDispatcher.bind(null, processQueue);
рдпрд╣ рдПрдХ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдХреНрд▓реЛрдЬрд░ рдмрдирд╛рдП рдмрд┐рдирд╛ред
рдирд┐рд╖реНрдХрд░реНрд╖
WinJS
рд╢реЗрдбреНрдпреВрд▓рд░ API рдПрдХ рдпреВрдЖрдИ рдереНрд░реЗрдб рдХреЗ рднреАрддрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдордиреНрд╡рдпрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ WinJS рдЙрд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдФрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЕрдиреБрдХреВрд▓рдиред рдЙрдкрд▓рдмреНрдз рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдордЧреНрд░ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рдЙрдард╛ рд╕рдХрддрд╛ рд╣реИред
- рдХреНрд░реИрдЧ рдмреНрд░реЛрдХрд╕реНрдорд┐рдЯ
рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореИрдиреЗрдЬрд░, рд╡рд┐рдВрдбреЛрдЬ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЯреАрдо
рдПрдЪрдЯреАрдПрдордПрд▓, рд╕реАрдПрд╕рдПрд╕, рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде "
рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд┐рдВрдбреЛрдЬ рд╕реНрдЯреЛрд░ рдРрдкреНрд╕ " рджреНрд╡рд╛рд░рд╛ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛, рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг
рд╕рдВрджрд░реНрдн
рд╢реЗрдбреНрдпреВрд▓рд░ рдХреНрд╡рд┐рдХ рд╕реНрдЯрд╛рд░реНрдЯ рдЧрд╛рдЗрдбHTML рд╕рдордпрдмрджреНрдзрдХ рдЙрджрд╛рд╣рд░рдгрд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2013 рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ