Feliz: рдПрд▓реНрдорд┐рд╢ рд░рд┐рдВрдЧрдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рджрд┐рд╕ре░ 2020  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Zaid-Ajaj/Feliz

@Shmew рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдмрд╛рдд рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рджреВрд╕рд░реЗ рджрд┐рди рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рд░рд┐рдВрдЧрдмрдлрд░ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЧрд▓рдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬреЛ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ (рд╕рдВрджреЗрд╢ рдмреЙрдХреНрд╕ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рдЗрд╕рдореЗрдВ рд▓рдХреНрд╖реНрдп рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реЛрдЧрд╛) . рдЗрд╕рд╕реЗ рдкреНрд░рддрд┐ рдШрдЯрдХ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд┐рдВрдЧ рдмрдлрд░ рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рд▓рд╛рдн рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ рдРрдк рд╕реЗ рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд▓реЙрдЧ рдХрд░рдирд╛ рднреА рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рддреБрдо рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реЛ?

рд╕рднреА 11 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рд╛рдБ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдПрдХрдорд╛рддреНрд░ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдорд╡рд░реНрддреА рдореЛрдб рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рдЪреАрдЬ рдХреЛ рд░рд┐рдПрдХреНрдЯ рдЯреНрд░реА рдХреЗ рдЕрдВрджрд░ рд░рд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЗрд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рд▓рд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрдн рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрджрд░реНрдн рдкреНрд░рджрд╛рддрд╛ рдФрд░/рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ рдереЛрдбрд╝рд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рднреА рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреНрд▓рдВрдмрд┐рдВрдЧ рдЙрд╕рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдпрд╣ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рднрд╛рд╡ рдХрд╣рд╛рдБ рдЦрдкрдд рд╣реЛрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдкрд╣рд▓рд╛ рдШрдЯрдХ рдмрд╕ рдЙрди рд╕рднреА рдХреЛ рдХрд░реЗрдЧрд╛? рдореИрдВ рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓рддреЗ рд╣реБрдП рджреЗрдЦ рд╕рдХрддрд╛ рдерд╛ред

рдУрд╣ рд╕рдордЭрд╛ред рд╕рдорд╡рд░реНрддреА рдореЛрдб рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрд╛, рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! рдареАрдХ рд╣реИ, рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╢рд╛рдпрдж рд╣рдо рдмрд╛рдж рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЖ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ @Shmew , рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд░рд╣рддрд╛ рд╣реВрдВ рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рдирд╣реАрдВ рд╣реВрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ) рд░рд┐рдВрдЧ рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрд▓реНрдорд┐рд╢ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд╣рд╛рдВ рдпреВрдЖрдИ рдФрд░ рдЕрдкрдбреЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдзрд╛рдЧреЗред рд▓реЗрдХрд┐рди useElmish рдХреЗрд╡рд▓ JS рдореЗрдВ рдЪрд▓реЗрдЧрд╛, рддреЛ рдХреНрдпреЛрдВ рди рдРрд╕рд╛ рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛рдП?

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЦреБрдж рдХреЛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХреВрдВ: рдХреНрдпрд╛ рд░рд┐рдВрдЧ рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рд╕рдВрджреЗрд╢ рдЙрд╕реА рдХреНрд░рдо рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрдорд╛рдВрдб рдмрдирд╛рдП рдЧрдП рдереЗ? рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╡реЗ 2 http рдЕрдиреБрд░реЛрдз рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓рд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рджреВрд╕рд░реЗ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдХрднреА рдЗрд╕ рдкрд░ рдЬреНрдпрд╛рджрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕рд╛рдорд╛рдиреНрдп Fable Elmish рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЦреБрдж рдХреЛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХреВрдВ: рдХреНрдпрд╛ рд░рд┐рдВрдЧ рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рд╕рдВрджреЗрд╢ рдЙрд╕реА рдХреНрд░рдо рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрдорд╛рдВрдб рдмрдирд╛рдП рдЧрдП рдереЗ? рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╡реЗ 2 http рдЕрдиреБрд░реЛрдз рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓рд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рджреВрд╕рд░реЗ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред

рдпрд╣ рдХрднреА рдХрд┐рд╕реА рд╡рд╛рджреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдЕрд╡рд░реЛрдз рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдареАрдХ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@Shmew рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рд░рд┐рдВрдЧ рдмрдлрд░ рдХреЗ рдкреНрд░рддрд┐ рдереЛрдбрд╝рд╛ рдЬреБрдиреВрдиреА рд╣реЛ рд░рд╣рд╛ рд╣реВрдВред рдПрд▓реНрдорд┐рд╢ рдореЗрдВ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдЬреЛ рдЪрд░реНрдЪрд╛ рдХреА рдереА, рд╡рд╣ рд╕рд┐рд░реНрдл рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдФрд░ рдпрд╣ рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рдЪрд┐рдВрддрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред IIRC рд░рд┐рдВрдЧ рдмрдлрд░, рдореЗрд▓рдмреЙрдХреНрд╕рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдерд╛, рдареАрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Fable рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдирд╣реАрдВ рдерд╛ред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдореЗрд╢рд╛ рдЗрд╕ рдмрд╛рдд рдХреЛ рд▓реЗрдХрд░ рднреА рднреНрд░рдорд┐рдд рд░рд╣рддреЗ рд╣реИрдВ рдХрд┐ update рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдореЗрд░реА рд╡рд░реНрддрдорд╛рди рд╕реЛрдЪ рдпрд╣ рд╣реИ рдХрд┐ update рд╕рдордХрд╛рд▓рд┐рдХ рдФрд░ рддреЗрдЬ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ/рдзреАрдореА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЖрджреЗрд╢реЛрдВ рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬреЗрдПрд╕ рдореЗрдВ рдЕрдВрддрд░ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЖрдк рдирдП рдзрд╛рдЧреЗ рдкреИрджрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЕрдЧрд▓реЗ рдЬреЗрдПрд╕ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рд╣реЛрдЧрд╛, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЙрдорд┐рд╕ рдпрд╛ setTimeout(..., 0) рдореЗрдВ рдХрдорд╛рдВрдб рдХреЙрд▓ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрдорд╛рдВрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦреБрдж рд╕реЗ рд╡рд╛рджреЗ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдпрджрд┐ рдЖрдк рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдлреИрдХреНрдЯреЛрд░рд┐рдпрд▓ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдереНрд░реЗрдб рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА рдФрд░ рдЗрд╕рд╕реЗ рдХреЛрдИ рдмрдбрд╝рд╛ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛ рдпрд╛ рддреЛ рдпреВрдЖрдИ рдЗрд╕ рдпрд╛ рдЕрдЧрд▓реЗ рдИрд╡реЗрдВрдЯ рдореЗрдВ рдмреНрд▓реЙрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЯрд┐рдХ рдХрд░реЗрдВред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рднреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рд╡рд╛рджреЗ (рдПрдХ рдкреНрд░рднрд╛рд╡ рд╣реБрдХ рдХреЗ рдЕрдВрджрд░) рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рд╛рдБ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдзреАрдореА рд╣реИ рдФрд░ рдпрджрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рднреА рд╣реИред рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕реНрдЯреИрдХ рдХреЗ рдмрдЬрд╛рдп рдлреАрдлреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЬрдм рдореИрдВ рдпрд╣ рд╕рдм рд▓рд┐рдЦ рд░рд╣рд╛ рдерд╛ рддрдм рдореИрдВрдиреЗ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдХреА рдереА рдФрд░ рдЬрд╣рд╛рдБ рддрдХ рдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рдерд╛ рдпрд╣ рдмрд╣реБрдд рддреЗрдЬрд╝ рдерд╛ред рдпрд╣ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдПрдлрдПрд╕рдПрд╕рдПрдл рд╕реНрд▓реИрдХ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ @ рдЬреИрдж-рдЕрдЬрд╛рдЬ рдХреЛ рддрд╕реНрд╡реАрд░реЗрдВ рднреЗрдЬреАрдВ (рдФрд░ рдЙрд╕рдХреЗ рдХрд╛рди рдмрдВрдж рдХрд░ рджрд┐рдП)ред

рдзрдиреНрдпрд╡рд╛рдж @ рд╢рдореВ! рдореИрдВ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрддрдирд╛ рдЪрд┐рдВрддрд┐рдд рдирд╣реАрдВ рдерд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рднреА рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ) рд▓реЗрдХрд┐рди рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ useElmish рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рдореВрд▓ рд░реВрдк рд╕реЗ рдореЗрд░рд╛ рдкреНрд░рд╢реНрди рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐, рдпрджрд┐ рдЖрджреЗрд╢ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░реЗрд╖рдг рд╕рдорд╛рд░реЛрд╣ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рддреБрд░рдВрдд рдлрд╛рдпрд░ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ (рдпрд╛ рдПрдХ рд╡рд╛рджреЗ рдпрд╛ setTimeout рдореЗрдВ рд▓рд┐рдкрдЯреЗ рд╣реБрдП)ред

рдЖрдЗрдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдо рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдХреИрд╕реЗ рд╕рд░рд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рд░рд┐рдВрдЧ рдмрдлрд░ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рддреЛ рд╣рдо рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ Program.withReactSynchronous рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрдм рдпрдХреАрди рдирд╣реАрдВ рд╣реИред рдХрдо рд╕реЗ рдХрдо, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡реИрд╕реЗ рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рдЗрдирдкреБрдЯ рддрддреНрд╡ рдЕрдЬреАрдмрддрд╛ рдЖрджрд┐ рдХреЗ рдмрд┐рдирд╛ред

рдореВрд▓ рд░реВрдк рд╕реЗ рдореЗрд░рд╛ рдкреНрд░рд╢реНрди рд╣реЛрдЧрд╛, рдпрджрд┐ рдЖрджреЗрд╢ рдХреЗрд╡рд▓ рдкреНрд░реЗрд╖рдг рд╕рдорд╛рд░реЛрд╣ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рддреБрд░рдВрдд рдлрд╛рдпрд░ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕рдВрд░рдЪрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ (рдпрд╛ рдХрд┐рд╕реА рд╡рд╛рджреЗ рдпрд╛ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЧрдпрд╛)ред

рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рднреА рдирдП рдЖрджреЗрд╢реЛрдВ рдХреЛ рддреБрд░рдВрдд рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрджреЗрд╢ рдХрддрд╛рд░ рдлреАрдлреЛ рд╣реИред рд╣рдо рдЗрд╕реЗ рдПрдХ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдИ рд╕реВрдЪреА рдмрдирд╛рдХрд░ рдФрд░ рдЗрд╕реЗ рдЬреЛрдбрд╝рдХрд░, рдпрд╛ рд╡рд░реНрддрдорд╛рди рд╕реВрдЪреА рдХреЛ рдЙрд▓рдЯ рдХрд░ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдПрдХ рдФрд░ рд░рд┐рд╡рд░реНрд╕ рдХреЗ рдмрд╛рдж рд╕рд┐рд░ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рджреЛрдиреЛрдВ рд╡рд╣реА рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдпрд╣ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдзреАрдорд╛ рднреА рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕реЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдПрдХ Program.withReactSynchronous рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрдм рдпрдХреАрди рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдЖрдВрддрд░рд┐рдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдЙрд╕ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдПрдХ рдкреНрд░рднрд╛рд╡ рд╣реБрдХ рдХреЗ рднреАрддрд░ рд╣реБрдХ рдФрд░ рдЕрджреНрдпрддрди рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдЪрд┐рдд рдХреБрд╢рд▓ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп FIFO рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рд░рд┐рд╡рд░реНрд╕ рдХреЗрд╡рд▓ рддрднреА рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд╕реВрдЪреА рдЦрд╛рд▓реА рд╣реЛрддреА рд╣реИ рдФрд░ рдЖрдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдЖрдорддреМрд░ рдкрд░ рдУ (1) рд╣реЛрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдореМрдЬреВрджрд╛ рдЙрдкрдпреЛрдЧ рдПрд▓реНрдорд┐рд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реА, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХрд╛ рдореЛрд╣ рдирд╣реАрдВ рдерд╛ред

type ListQueue<'T> private (incoming:'T list, outgoing:'T list) =
    new () = ListQueue([], [])

    member this.Push item = 
        match incoming, outgoing with
        | [], [] -> ListQueue([], [item])
        | _ -> ListQueue(item :: incoming, outgoing)

    member this.Pop () = 
        match outgoing with
        | item :: outgoing -> 
            ListQueue(incoming, outgoing), item
        | [] -> 
            match List.rev incoming with
            | [] -> failwith "Cannot Pop from an empty ListQueue"
            | item :: outgoing -> ListQueue([], outgoing), item

    member this.IsEmpty = 
        match incoming, outgoing with
        | [], [] -> true
        | _ -> false
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Dzoukr picture Dzoukr  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Zaid-Ajaj picture Zaid-Ajaj  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

l3m picture l3m  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

heimeshoff picture heimeshoff  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Dzoukr picture Dzoukr  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ