Dva: рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡ рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдХреНрдпрд╛ рдореБрдЭреЗ */рдпреАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛?

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

рдкреНрд░рднрд╛рд╡: {

/**
 * цХ░цНоцЯешпв
 * 
 * <strong i="6">@param</strong> {any} { payload }
 * <strong i="7">@param</strong> {any} { select, call, put }
 */
query: async function ({ payload }, { select, call, put }) {
  await put({ type: 'show_loading' });
  payload.page = payload.page || 1;
  payload.limit = payload.limit || 10;
  let data = await call(query, '/home/course', payload);
  if (data) {
    await put({
      type: 'query_success',
      payload: {
        list: data.data,
        total: data.count,
        current: data.currentPage,
      },
    });
  }
}

},

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

@sorrycc рдЪреВрдВрдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХрд┐рди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдпрд╣рд╛рдВ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧ рдореЗрдВ, async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдирд░реЗрдЯрд░/рдЙрдкрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдмрд╣реБрдд рджрд░реНрджрдирд╛рдХ рд╣реИред рд▓реЗрдЦрдХ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рджреЛрдиреЛрдВ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдЪреБрдирдиреЗ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдирд╛ рдФрд░ async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЛрдб рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╛ рдЕрдиреБрдХреВрд▓реА рдирд┐рд░реНрдгрдпред

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

рдкреНрд░рднрд╛рд╡: {

/**
 * цХ░цНоцЯешпв
 * 
 * <strong i="6">@param</strong> {any} { payload }
 * <strong i="7">@param</strong> {any} { select, call, put }
 */
query: function* ({ payload }, { select, call, put }) {
  yield put({ type: 'show_loading' });
  payload.page = payload.page || 1;
  payload.limit = payload.limit || 10;
  let data = yield call(query, '/home/course', payload);
  if (data) {
    yield put({
      type: 'query_success',
      payload: {
        list: data.data,
        total: data.count,
        current: data.currentPage,
      },
    });
  }
}

},

рд╣рд╛рдВ, рдкреНрд░рднрд╛рд╡ рдХреЗрд╡рд▓ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╢рдмреНрджреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред async рдФрд░ await рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рднрд╛рд╡ рд╕реЗ рдмрд╛рд╣рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдкреНрд░рднрд╛рд╡ рдореЗрдВ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдЬ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдореИрдВ рд╕рдордЭ рдЧрдпрд╛, рднрдЧрд╡рд╛рди рдХрд╛ рд╢реБрдХреНрд░ рд╣реИ

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдХреНрдпрд╛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдПрд╕рд┐рдВрдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓реЗрдЧрд╛? @sorrycc

Async рдореЗрдВ рдХреЛрдИ рдЬрдирд░реЗрдЯрд░ рдирд┐рдпрдВрддреНрд░рдгреАрдп рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ cancel , рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ redux-saga рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪреБрдирддрд╛ рд╣реИред

рдУрд╣

@sorrycc рдореИрдВ рдХрд┐рд╕реА рдкреНрд░рднрд╛рд╡ рдХреЛ рдХреИрд╕реЗ рд░рджреНрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

@miaojiuchen рдХреНрдпрд╛ рд╕реАрди рд╣реИ?рдХреИрдВрд╕рд▓ рдЗрдлреЗрдХреНрдЯ рдХреНрдпреЛрдВ?

@sorrycc рдореБрдЭреЗ рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛:

  • рдкреНрд░рднрд╛рд╡ 1: рдЕрдиреБрд░реЛрдз рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рдкрд╕ рдЖрддреА рд╣реИ, рдФрд░ рдкреНрд░рднрд╛рд╡ 2 рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ-рдШрдЯрд╛рд╡ рдХрд╛рдЙрдВрдЯрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ
  • рдкреНрд░рднрд╛рд╡ 2: рдЬрдмрдХрд┐ (рд╕рдЪ) => рджреЗрд░реА рдФрд░ рдлрд┐рд░ рдкреНрд░реЗрд╖рдг рдкреНрд░рд╕рд╛рд░рдг

рдпрд╣ рдПрдХ рдкреГрд╖реНрда рдкрд░ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЕрдиреНрдп рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдкрд┐рдЫрд▓реЗ рдкреГрд╖реНрда рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рднрд╛рд╡ 2 рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдореИрдВ рдкреНрд░рднрд╛рд╡ 1 рдореЗрдВ рдкреНрд░рднрд╛рд╡ рдХреЛ рдХреИрд╕реЗ рд░рджреНрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ рдкреНрд░рднрд╛рд╡ 2 рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдХреНрдпрд╛ рдореБрдЭреЗ @@CANCEL_EFFECTS рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрде рдЙрдкрд▓реЗрдЦреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛?

рдзрдиреНрдпрд╡рд╛рджред

@sorrycc рдЪреВрдВрдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХрд┐рди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдпрд╣рд╛рдВ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧ рдореЗрдВ, async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдирд░реЗрдЯрд░/рдЙрдкрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдмрд╣реБрдд рджрд░реНрджрдирд╛рдХ рд╣реИред рд▓реЗрдЦрдХ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рджреЛрдиреЛрдВ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдЪреБрдирдиреЗ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдирд╛ рдФрд░ async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЛрдб рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╛ рдЕрдиреБрдХреВрд▓реА рдирд┐рд░реНрдгрдпред

рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ redva , рд╡рд╣реА

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

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

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

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

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

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

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