Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.05.2022, 10:30
Аспирант
Отправить личное сообщение для Volonter Посмотреть профиль Найти все сообщения от Volonter
 
Регистрация: 18.01.2011
Сообщений: 57

tinymce 6 - как подгружать сторонние классы в кастомном плагине?
Всем привет, пишу свой плагинчик под tinymce6, не могу разобраться как подгружать скрипты. Официальная дока говорит что так
// plugins/myplugin/plugin.min.js
tinymce.PluginManager.add('myplugin', function(editor, url) {
    'use strict';
   // начинаем загрузку скриптов 
   let scriptLoader = new tinymce.dom.ScriptLoader();
   scriptLoader.add(url + '/lib/Class.js');
   scriptLoader.loadQueue().then(() => {
      const class = new Class();
      // в консоли получаем объект класса, загрузчик работает
      console.log(class)
   })
   // ниже все функции плагина
  // здесь мне надо как то работать с загруженным классом, типа вот так
  let textFromclass = class.getText()
  // но так как загрузчик возвращает промис, это не работает
})

Подскажите решение, пожалуйста)) второй день и гуглю, и доку скурил уже всю, не хочет никак работать. Я понимаю, что промис, что асинхронность, что нужно коллбэк скорее всего какой то... но вот дальше вывода в консоль у меня дело не идет))
Ответить с цитированием
  #2 (permalink)  
Старый 09.05.2022, 13:23
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,548

Volonter,
Так прямо после вывода в консоль и пиши.
Ответить с цитированием
  #3 (permalink)  
Старый 09.05.2022, 13:27
Аспирант
Отправить личное сообщение для Volonter Посмотреть профиль Найти все сообщения от Volonter
 
Регистрация: 18.01.2011
Сообщений: 57

Сообщение от Rise Посмотреть сообщение
Volonter,
Так прямо после вывода в консоль и пиши.
если бы было так просто)) вне конструкции .then(() => {}) это не работает
если ранее объявит переменную class, а в then попытаться занести то что получили, то думаю мы получим объект promis туда, а это не то
Ответить с цитированием
  #4 (permalink)  
Старый 09.05.2022, 13:34
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,548

Сообщение от Volonter
вне конструкции
Так пиши внутри конструкции.
Ответить с цитированием
  #5 (permalink)  
Старый 09.05.2022, 13:39
Аспирант
Отправить личное сообщение для Volonter Посмотреть профиль Найти все сообщения от Volonter
 
Регистрация: 18.01.2011
Сообщений: 57

Сообщение от Rise Посмотреть сообщение
Так пиши внутри конструкции.
весь код, всего плагина, вообще внутри? Ну, наверное можно конечно, но насколько это правильно?
Ответить с цитированием
  #6 (permalink)  
Старый 09.05.2022, 13:50
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,548

Volonter,
Да какая разница.
Ответить с цитированием
  #7 (permalink)  
Старый 09.05.2022, 13:54
Аспирант
Отправить личное сообщение для Volonter Посмотреть профиль Найти все сообщения от Volonter
 
Регистрация: 18.01.2011
Сообщений: 57

Сообщение от Rise Посмотреть сообщение
Volonter,
Да какая разница.
сложно сказать, я вашим советам доверяю на 100%, но может есть вариант как то записывать в переменные? чтобы class= new Class работал вне then() это я уже чисто для себя просто хочу понять
Ответить с цитированием
  #8 (permalink)  
Старый 09.05.2022, 14:02
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,548

Volonter,
tinymce.PluginManager.add('myplugin', async function(editor, url) {
    // ...
    await scriptLoader.loadQueue();
    const class = new Class();
    // ...
});
Ответить с цитированием
  #9 (permalink)  
Старый 09.05.2022, 14:49
Аспирант
Отправить личное сообщение для Volonter Посмотреть профиль Найти все сообщения от Volonter
 
Регистрация: 18.01.2011
Сообщений: 57

Сообщение от Rise Посмотреть сообщение
Volonter,
tinymce.PluginManager.add('myplugin', async function(editor, url) {
    // ...
    await scriptLoader.loadQueue();
    const class = new Class();
    // ...
});
Супер! Огромное спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как подключать сторонние файлы в JS? jsuse Общие вопросы Javascript 6 04.12.2011 10:03
JS классы - как объединить функции в класс olga153b Events/DOM/Window 3 01.11.2011 12:13
Как идентифицировать..как использовать эти классы для двух.. sashajs (X)HTML/CSS 2 11.05.2011 09:11
Как лучше подгружать js? InviS Общие вопросы Javascript 0 15.09.2010 05:13
Как правильно писать классы с использованием jQuery? Tpona jQuery 7 13.10.2009 14:16