AngularJS - Выполнение нескольких вызовов API путем объединения обещаний - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь расширить бэк-офис Umbraco CMS. (v7) - пользователи Umbraco AngularJS для пользовательского интерфейса бэк-офиса.

Я хочу использовать AngularJS для вызова серии методов API один за другим (НЕ В то же время)

Каждый вызов API возвращает HTTP-ответ об ошибке или об ошибке. Если какой-либо из вызовов API завершится неудачно, я хочу остановить и отобразить возвращенное сообщение пользователю.

Это то, что я получил до сих пор:

    const validateFileType = (file) => {
    loader.style.display = "block";
    message.innerHTML = "Validate inner message here";
    let formData = new FormData();
    formData.append('file', file);

    const response = fetch('/umbraco/api/productupload/ValidateFileType', { // Your POST endpoint
        method: 'POST',
        body: formData // This is your file object
    });

    loader.style.display = "none";

    return response;
};

const validateHeaders =  (file) => {
    loader.style.display = "block";
    message.innerHTML = "";
    let formData = new FormData();
    formData.append('file', file);

    const response = fetch('/umbraco/api/productupload/ValidateHeaders', { // Your POST endpoint
        method: 'POST',
        body: formData //
    });

    loader.style.display = "none"

    return response;
};

const onSelectFile = (e) => {
    e.preventDefault();

    notificationsService.info("Processing Started", "Processing...");

    validateFileType(input.files[0]).then(validateHeaders(input.files[0])); //Wnat to add 2 more api calls.

}

Мой первый вызов (validateFileType) работает, но мой второй вызов выдает ошибку 500, фактически не затрагивая API. Я не обращаюсь к успешному или неудачнику, что я хотел бы сделать.

Может кто-нибудь помочь мне с некоторыми примерами кода или посоветовать мне другой подход?

...