У меня есть массив элементов, где я делаю вызов API для каждого элемента в массиве.Для отладки я использую собственный отладчик реагирования (https://github.com/jhen0409/react-native-debugger),). Проблема в том, что когда я помещаю оператор отладчика в функцию, в которой я выполняю вызов API (т.е. функцию callAPI), отладчик не останавливается на достигнутом, но я получаю ожидаемые результаты после того, какВызов API.
Но когда я удаляю символ '[]' в вызове yield ([]), отладчик останавливается в функции callAPI. Ниже приведен синтаксис, с которым я сталкиваюсь с проблемой.
const callAPI = async ( client: ServiceRootClient, move: moveReq): Promise<any> => {
debugger;
const results = await client
.forOne(singletons => singletons.find(singleton =>
singleton.$Name === "Item"))
.forOperation(ops => ops.find(op => op.$Name === "Move"))
.withParameters((params, parameterSet) => {
params.map(param => {
if (param.$Name === "Data") {
parameterSet.add(param, movement);
}
});
})
.execute();
return results;
};
export function* applyItemMovements(action: itemManagement.Action) {
try {
const result = yield all([
ItemMoveRequests.map(ItemMoveRequest=>
callAPI, action.metadata.client, moveReq
)
]);
} catch(error) {
//print error
}
}
Я использую '[]' внутри yield для всех, чтобы выполнять вызовы API для всех элементов массива, чтобы в случае сбоя одного вызова API не останавливались другие элементы в массиве, вызывающие API.
Я не уверен, является ли это способом вызова API, чтобы оставшиеся элементы вызывали API, даже если один элемент в массиве завершился неудачей, или я должен внести какие-либо изменения в yield. Как заставить оператор отладчика остановиться в функции callAPI.