fetch: takeLatest()

in packages/legacy/xconsole-model/src/ListModel.js [44:68]


    fetch: takeLatest(function* ({ payload, meta = {} }, { call, put }) {
      try {
        const result = yield call(props.fetch, payload)
        yield put({
          type: 'save',
          payload: {
            Data: result.Data,
            TotalCount: result.TotalCount,
            PageSize: result.PageSize,
            PageNumber: result.PageNumber,
          },
        })
        if (meta.onCompelted) {
          meta.onCompeleted(result)
        }
      } catch (error) {
        yield put({
          type: 'save',
          payload: { APIError: error },
        })
        if (meta.onError) {
          meta.onError(error)
        }
      }
    }),