Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.11.2016, 01:42
Новичок на форуме
Отправить личное сообщение для andrey_9828 Посмотреть профиль Найти все сообщения от andrey_9828
 
Регистрация: 23.11.2016
Сообщений: 1

Невыходит сделать цепочку с промисов
Помогите сделать цепочку последовности promise, чтобы консоль лог проходил 1 2 1 2 1 2, а не 1 2 2 1 2 2 1. Я специально сделал такую ситацию, чтобы понять как делать цепочки промисов но у меня ничего не выходит.
http://codepen.io/pen/

var log_first = function () {
console.log('1');
}

var log_second = function () {
console.log('2');
}

var promise = new Promise(function(resolve, reject) {
})

promise.then(setInterval(log_first, 1000));
promise.then(setInterval(log_second, 500));

Последний раз редактировалось andrey_9828, 23.11.2016 в 01:45.
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2016, 10:03
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Чтобы промисы объединять именно в цепочки, надо писать либо так
promise
    .then(...)
    .then(...)


либо
promise = promise.then(...);
promise = promise.then(...);


в общем, для последующего then использовать тот промис, который вернулся предыдущим.

А у тебя оба then вызвались из одного и того же промиса, начав таким образом 2 независимые цепочки.

----
Конкретно по примеру - во первых, setInterval не возвращает функцию, да и вообще не монтируется в промисы (можно приспособить setTimeout, но его надо "промисифицировать"), ну и сам промис у тебя не резолвится (наверно, код не дописан)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать на ajax или java. Bajex AJAX и COMET 2 20.06.2013 05:13
Исчезающие меню, как сделать стандартными методами? Astrey Общие вопросы Javascript 14 08.03.2013 20:28
filter(this,this) как правильно сделать? Smip jQuery 5 23.02.2013 03:07
Как сделать что бы при регистрации человека на моем сайте у него не появлялось... drunkwolfs Общие вопросы Javascript 2 07.08.2012 10:58
Как сделать как в JQ? faforty Общие вопросы Javascript 8 14.11.2011 01:35