рдкреНрд░рднрд╛рд╡: {
/**
* цХ░цНоцЯешпв
*
* <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,
},
});
}
}
},
рдкреНрд░рднрд╛рд╡: {
/**
* цХ░цНоцЯешпв
*
* <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 рдореБрдЭреЗ рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛:
рдпрд╣ рдПрдХ рдкреГрд╖реНрда рдкрд░ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЕрдиреНрдп рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдкрд┐рдЫрд▓реЗ рдкреГрд╖реНрда рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рднрд╛рд╡ 2 рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдореИрдВ рдкреНрд░рднрд╛рд╡ 1 рдореЗрдВ рдкреНрд░рднрд╛рд╡ рдХреЛ рдХреИрд╕реЗ рд░рджреНрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ рдкреНрд░рднрд╛рд╡ 2 рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдХреНрдпрд╛ рдореБрдЭреЗ @@CANCEL_EFFECTS рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрде рдЙрдкрд▓реЗрдЦреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛?
рдзрдиреНрдпрд╡рд╛рджред
@sorrycc рдЪреВрдВрдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХрд┐рди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдпрд╣рд╛рдВ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧ рдореЗрдВ, async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдирд░реЗрдЯрд░/рдЙрдкрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдмрд╣реБрдд рджрд░реНрджрдирд╛рдХ рд╣реИред рд▓реЗрдЦрдХ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рджреЛрдиреЛрдВ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдЪреБрдирдиреЗ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдирд╛ рдФрд░ async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЛрдб рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╛ рдЕрдиреБрдХреВрд▓реА рдирд┐рд░реНрдгрдпред
рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ redva , рд╡рд╣реА
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@sorrycc рдЪреВрдВрдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХрд┐рди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдпрд╣рд╛рдВ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧ рдореЗрдВ, async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдирд░реЗрдЯрд░/рдЙрдкрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдмрд╣реБрдд рджрд░реНрджрдирд╛рдХ рд╣реИред рд▓реЗрдЦрдХ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рджреЛрдиреЛрдВ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдЪреБрдирдиреЗ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдирд╛ рдФрд░ async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЛрдб рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╛ рдЕрдиреБрдХреВрд▓реА рдирд┐рд░реНрдгрдпред