В следующем вызове 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