Я пытаюсь создать небольшой фреймворк javascript, который может облегчить работу со сторонней библиотекой.Эта библиотека в основном асинхронная, поэтому, например, чтобы установить соединение, вы должны использовать код:
var com = establishConnection("api-key");
com.onsuccess = function(c) {
c.submit("something");
};
Я хочу, чтобы у меня была возможность использовать мою оболочку, чтобы просто выполнять
var com = establishConnection("api-key");
com.submit("something");
Очевидно, что мне нужен способ обработки асинхронной природы исходной библиотеки, поэтому он будет ждать установления соединения, прежде чем выполнять команды.Я знаю, что могу сделать что-то вроде установки флага, чтобы сказать, установлено ли соединение, и затем использовать некоторую задержку зацикливания, то есть
function submit(msg) {
while (!connectionEstablished) {}
// do submit stuff
}
, но кажется, что такой уродливый хак, кто-нибудьлюбой совет для более хороших способов сделать это?