Реализовать шаблон обещаний
У меня есть функция, которая вызывается с другими объектами, и когда мое приложение загружено, получить параметр, и функция должна ждать вызова со всеми объектами, а затем выполнить так с шаблоном обещаний, я могу убедиться, что все объекты загружены, но я не знаю о количество объектов, и я не хочу устанавливать тайм-аут для загрузки. Я не говорю о конкретной технологии, такой как jquery
и нужен алгоритм.
Псевдокод:
function loadWidget(id){
list.push(id);
//here I should ensure all Widget is loaded
}
в другом приложении я звоню
app.loadWidget.add(widget1.id);
.
.
.
app.loadWidget.add(widget2.id);
1 ответ
Если вам не нужны готовые решения, и вместо этого вы хотите реализовать все алгоритмы самостоятельно, прочитайте статьи, на которые есть ссылки в статье в Википедии: Фьючерсы и обещания и спецификации для Promises / A и Promises / A +.
И чтобы убедиться, что вы все делаете правильно, прочитайте статью " Вы упускаете суть обещаний" от Доменика Дениколы и посмотрите тесты на соответствие для Promises / A +.
Если, с другой стороны, вы решили, что не стоит изобретать велосипед (если это не для обучения - в этом случае непременно изобретать как можно больше колес), посмотрите на RSVP.js, облегченный библиотека, которая предоставляет инструменты для организации асинхронного кода. RSVP.js используется, например, Ember.js.