Javascript.RU

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

Promise. Возвращает только false.
Есть вот такой код:
function test() {
    return new Promise(function (success, error) {
        if(1 > 0) {
            success(true);
        }else{
            error(false);
        }
    });
}

var check;

test().then(
    check = true,
    check = false
);

console.log(check);


При изменении знака > на < всегда возвращает false.
Почему так?
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2016, 17:20
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

test().then(
    function() {check = true},
    function() {check = false}
);
Ответить с цитированием
  #3 (permalink)  
Старый 02.08.2016, 18:00
Новичок на форуме
Отправить личное сообщение для thevalakas Посмотреть профиль Найти все сообщения от thevalakas
 
Регистрация: 29.07.2016
Сообщений: 7

Сообщение от destus Посмотреть сообщение
test().then(
    function() {check = true},
    function() {check = false}
);
Выводит undefined
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2016, 18:15
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

<script src="https://cdnjs.cloudflare.com/ajax/libs/co/4.1.0/index.min.js"></script>
	<script>
	function test() {
		return new Promise(function (success, error) {
			if(1 > 0) {
				success(true);
			}else{
				error(false);
			}
    });
}
	co(function* (){
		var check;
		
		check = yield test();
		
		alert(check);
	}).catch(e => alert(e))
	</script>
Ответить с цитированием
  #5 (permalink)  
Старый 02.08.2016, 20:52
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
var check;

test().then(
check = true,
check = false
);
Это еще что за хрень? В метод then нужно коллбек передавать, а ты передаешь результат выражения check = true, то есть, просто true.

var check;
console.log(check = true);
Ответить с цитированием
  #6 (permalink)  
Старый 03.08.2016, 07:35
Новичок на форуме
Отправить личное сообщение для thevalakas Посмотреть профиль Найти все сообщения от thevalakas
 
Регистрация: 29.07.2016
Сообщений: 7

Сообщение от Erolast Посмотреть сообщение
Это еще что за хрень? В метод then нужно коллбек передавать, а ты передаешь результат выражения check = true, то есть, просто true.

var check;
console.log(check = true);
Даун
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
addEventListener и return false; Valdemor Общие вопросы Javascript 4 17.07.2013 11:33
Скрипт не работает только в Firefox. В остальных браузерах все ОК. Dinamitt Firefox/Mozilla 1 28.06.2013 15:29
Почему скрипт работает только в Опере? evgenij-1963 (X)HTML/CSS 6 23.03.2013 17:14
Глюк firebug'а trikadin Оффтопик 23 16.01.2012 14:04
Проблема с if...else parzh-junior Элементы интерфейса 18 04.12.2009 17:17