Оператор отладчика не работает внутри вызова API - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть массив элементов, где я делаю вызов 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.

...