Dva: рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡ async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рдЕрдХреНрддреВре░ 2018  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dvajs/dva

рд╢реАрд░реНрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдХрд┐ Generator рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ, рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ goto рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ, рдЖрдк рдЬрд╣рд╛рдВ рдЪрд╛рд╣реЗрдВ рдХреВрдж рд╕рдХрддреЗ рд╣реИрдВ

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

рдирд╣реАрдВ, рдбреАрд╡реАрдП рд░реЗрдбрдХреНрд╕-рд╕рд╛рдЧрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рд░реЗрдбрдХреНрд╕-рд╕рд╛рдЧрд╛ рдкреНрд░рднрд╛рд╡ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЙрддреНрддрд░ рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ

https://github.com/redux-saga/redux-saga/issues/987#issuecomment -301039792

рдореИрдВрдиреЗ рдЕрднреА рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдореЗрд░реЗ рд▓рд┐рдП рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореБрджреНрджрд╛ рдкрдврд╝рд╛ рд╣реИред рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, redux-saga рдХреЗ рд▓реЗрдЦрдХ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░рд╢реНрди рднреА рдерд╛ред рдореИрдВрдиреЗ рдбреАрд╡реАрдП рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХреАред рдкреНрд░рднрд╛рд╡ рд╡рд╕реНрддреБ рдореЗрдВ хЗ╜цХ░ рдмрд╛рд╣рд░реА рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмрд╛рд╣рд░реА рдХреЛ Generator рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ next() рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдХреЛрдб рдЕрднреА рднреА рдмрд╣реБрдд рддрд╛рдЬрд╝рд╛ рд╣реИред

рдореИрдВрдиреЗ рдЕрднреА рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдореЗрд░реЗ рд▓рд┐рдП рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореБрджреНрджрд╛ рдкрдврд╝рд╛ рд╣реИред рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, redux-saga рдХреЗ рд▓реЗрдЦрдХ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИрдВред

рдЕрдЬреАрдм, async, рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд┐рдпрдВрддреНрд░рдг рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЬрдирд░реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ

рдирд╣реАрдВ, рдбреАрд╡реАрдП рд░реЗрдбрдХреНрд╕-рд╕рд╛рдЧрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рд░реЗрдбрдХреНрд╕-рд╕рд╛рдЧрд╛ рдкреНрд░рднрд╛рд╡ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЙрддреНрддрд░ рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ

redux-saga/redux-saga#987 (рдЯрд┐рдкреНрдкрдгреА)

рдпрд╣ рдореБрджреНрджрд╛ рдпрд╣ рдирд╣реАрдВ рдХрд╣рддрд╛ рдХрд┐ рдЬрдирд░реЗрдЯрд░ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЧреНрдп рдХреНрдпреЛрдВ рд╣реИред @xiaosongxiaosong

Async рдХреЗ рд╕рд╛рде, рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? (рдкреНрд░рд╢реНрди рдХрд╛рдлреА рд╕рдордп рд╣реЛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдиреЗ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХреА рд╣реИ)

@951565664

async, рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд┐рдпрдВрддреНрд░рдг рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЬрдирд░реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ

BengBu-YueZhang рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред рдЬрдирд░реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рд╕рдордЭ рдмрд╣реБрдд рдЧрд╣рди рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЕрдкрдиреА рдЙрдерд▓реА рд╕рдордЭ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рджреЗрдВ:

  1. рдЬрдирд░реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЙрд▓рд░ рдХреЛ рд╡рд┐рдЬрд╝рд┐рдЯрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рд╡рд┐рдЬрд╝рд┐рдЯрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЗрдирд░реЗрдЯрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдпрд╣ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВрдЧреЗ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ
  2. рдПрд╕рд┐рдВрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЗрдирд░реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рд╕рд┐рдВрдЯреИрдХреНрдЯрд┐рдХ рдЪреАрдиреА рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд░реНрдорд┐рдд рдирд┐рд╖реНрдкрд╛рджрдХ рд╣реИред рдХреЙрд▓ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдВрддрд┐рдо рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ред рдХреЙрд▓рд░ рдПрд╕рд┐рдВрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡рд┐рд░рд╛рдо рдФрд░ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рди рд╣реА рдпрд╣ рдХрд░ рд╕рдХрддрд╛ рд╣реИ async рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдорд╛рди рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░реЗрдВред

рдИрд╕реАрдПрдордПрд╕реНрдХреНрд░рд┐рдкреНрдЯ 6 рдЧреЗрдЯрд┐рдВрдЧ рд╕реНрдЯрд╛рд░реНрдЯреЗрдб рдЬреЗрдирд░реЗрдЯрд░ рдЪреИрдкреНрдЯрд░ рдореЗрдВ рджреЛ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╣реИрдВ, рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реИрдВред

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

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

рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдХрд┐ Generator рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ, рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ goto рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ, рдЖрдк рдЬрд╣рд╛рдВ рдЪрд╛рд╣реЗрдВ рдХреВрдж рд╕рдХрддреЗ рд╣реИрдВ

рдореИрдВрдиреЗ рдЕрднреА рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдореЗрд░реЗ рд▓рд┐рдП рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореБрджреНрджрд╛ рдкрдврд╝рд╛ рд╣реИред рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, redux-saga рдХреЗ рд▓реЗрдЦрдХ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИрдВред

рдЕрдЬреАрдм, async, рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд┐рдпрдВрддреНрд░рдг рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЬрдирд░реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ JS рднрд╛рд╖рд╛ C рднрд╛рд╖рд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

yunfeit picture yunfeit  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

itiwll picture itiwll  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

BenAnn picture BenAnn  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pengfeiWang picture pengfeiWang  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

yaeSakuras picture yaeSakuras  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ