Как использовать отложенное с пользовательским событием
Я пишу плагин, который испускает события activating
а также activated
, Я хочу вызвать событие activated
только когда все обработчики событий activating
выполнены. я знаю это $.trigger()
вызывает обработчики событий синхронно, но проблема в том, что у меня может быть некоторый асинхронный код в моем обработчике событий:
Пример:
$("test").trigger("activating");
$("test").trigger("activated");
$("test").on("activating",function()
{
$.post("/test",{data:"test"},function()
{
//dom modifications here
////////////////
//Here I would like to notify that the event handler is finished, like maybe async.js
}
});
У меня есть несколько подсказок о $.Deferred & Promises, но я не вижу, как их реализовать, чтобы решить мою конкретную проблему.
Может ли кто-нибудь здесь дать мне решение?
Спасибо