Как обозначить лейбл колл? - PullRequest
0 голосов
/ 07 февраля 2019

В следующем вызове yield мне нужно пометить каждый результат.В ссылке: https://redux -saga.js.org / docs / api / приведен пример, но я не могу относиться к этому, поскольку я использую карту здесь.Метка, которую я хочу использовать здесь, получена из другого массива.Таким образом, для каждого элемента массива меток должен быть вызов yield.

Я хочу использовать метку, чтобы можно было определить, какой ответ на какой элемент?Также я не хочу, чтобы yield call выдавал ошибку, как только один запрос завершился неудачей, и я хочу заставить yield call ждать, пока все вызовы не будут завершены, и затем выдавать любые ошибки.Как я могу их достичь и как использовать этот ярлык из результата каждого звонка?

const apiCall = async (
    client: ServiceRootClient,
    item: itemReq
): Promise<any> => {
    const results = await client
        .(some unrelated stuff)
        .execute();

    return results;
};

export labelArray = {
  id: string
}

export item = {
  attribute1: string;
  attribute2: string;
  attribute3: string;
}

const items : item[] = [{
    attribute1: "bal.blah..",
    attribute2:  "bal.blah..",
    attribute3:  "bal.blah.."
}, {
    attribute1: "bal.blah..",
    attribute2:  "bal.blah..",
    attribute3:  "bal.blah.."
}];

const labelArr : labelArray[] = [
  {
        id: "1st item"
  },
  {
        id: "2nd item"
  }
];

  const result = yield all([id: // id is from labelArr 
            items.map(item => call(apiCall, action.metadata.client, item))
        ]);

Заранее спасибо 101

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...