Как обработать 2 события щелчка по порядку в Angular

<button class = "post-save" (click) = "fileUpload.upload()" (click) = "editor.save()"> save </button>

Когда кнопка сохранения нажата,

Нажмите "Событие 1: загрузка файла".

Нажмите «Событие 2: опубликовать сохранение».


Когда я нажимаю «Загрузить файл», он получает URL-адрес в качестве возвращаемого значения.

А «editor.save ()» - это «сохранить возвращаемый URL».

Итак, я хочу запустить «Событие 2» после того, как «Событие 1» закончится.

Как я могу это исправить?

если fileUpload.upload() асинхронный, а я почти уверен, что это так, мой друг, вы задаете неправильный вопрос.

Stavm 03.09.2018 12:57

Можете ли вы опубликовать код того, как метод fileupload.upload () возвращает значение. Я подозреваю, что вы либо получите наблюдаемое, и вам придется подписаться, либо дождаться выполнения обещания, прежде чем запускать второй метод.

Chris 03.09.2018 14:08
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
2
263
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете вызвать два или более метода в любом случае, используя точку с запятой ;

нравится,

<button class = "post-save" (click) = "editor.save(); fileUpload.upload()"> save </button>
Ответ принят как подходящий

Вы должны вызывать только одну функцию. Я подозреваю, что fileUpload.upload() асинхронный, поэтому один из способов сделать это:

newFunction(){
    this.fileUpload.upload().subscribe(data => {
      // do what you do when the file is uploaded
      this.editor.save();
    }
}

Другие вопросы по теме