Последовательное выполнение дополнения Firefox и разработка дополнения Firefox

Я не знаю, направляюсь ли я в правильном направлении или нет. Пожалуйста, исправьте дизайн аддона, если есть лучший подход. Вот местонахождение github файла main.js.

Я хочу простой основной контроллер, который имеет поток надстройки. Я поражен из-за асинхронного обмена сообщениями между процессом контента и процессом надстройки. Ниже приведена последовательность действий для стратегии последовательного выполнения. Не знаете, как разработать приложение async js?

// Everything needs to be serially executed to make it work
this.startProcessing = function() {
    var inputProcessor = new SpannJira.InputProcessor(this.input);
    var jiraList = inputProcessor.getJiraList(); // should open a tab, extract data & return jiraList
    SpannJira.TabController.openTabs(jiraList); // should open all the required tabs
    var jiraProcessor = new SpannJira.JiraProcessor(jiraList)
    jiraProcessor.process(); // start processing the tabs opened
}

Я знаю, что связь асинхронная, пятая строка говорит об этом. Так как же сохранить часть контроллера в одной функции, если она асинхронная?

Или мне приходится ломать код контроллера и сохранять соответствующие обратные вызовы всякий раз, когда я получаю асинхронные сообщения (я могу это сделать, но я хочу сохранить классы, выполняющие определенные функции, а не часть контроллера)?

Есть ли какая-нибудь ссылка, которая может рассказать мне, как спроектировать расширение Firefox наилучшим образом, используя последний SDK (который имеет пространство имен, классы и наследование)?

0 ответов

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