jQuery, дождитесь завершения метода, затем запустите действие - PullRequest
0 голосов
/ 12 апреля 2019

Это моя ситуация.Мне нужно сначала запустить этот метод

$(editor.image.toggleCaption);

, а затем:

alert('hello world');

Если я сделаю это:

$(editor.image.toggleCaption);
alert('hello world');

, он не будет работать, потому что alert запускается до того, как метод будет выполнен.

Единственный способ заставить это работать - использовать setTimeout.Но это статичное решение, поэтому я бы хотел его избежать.Я попробовал $.Deferred, но я не знаю, как его настроить, и все комбинации, которые я пробовал, не сработали.

Может кто-нибудь мне помочь?

Заранее спасибо

1 Ответ

1 голос
/ 12 апреля 2019

Используйте when, похоже, это работает .ref https://api.jquery.com/jquery.when/. Замените $('.test').hide('slow') на вашу функцию. Надеюсь, это поможет

$.when($('.test').hide('slow')).then(function(){
    alert(1);
})  
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="test">Some Contents</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...