status
- это предопределенная переменная в браузерах.
Когда вы присваиваете ему значение, оно преобразуется в строку.
false
становится"false"
, что является истинным значением.
Вот почему вам следует избегать глобальных переменных.Конфликты с переменными других людей никогда не доставляют удовольствия.
Оберните ваш код в IIFE, чтобы избежать попыток создания переменных в глобальной области видимости.
(function() {
var status = false;
var promise = new Promise(function(resolve, reject) {
if (status) {
console.log("TRUE")
resolve({
value: 'true'
});
} else {
console.log("FALSE");
reject({
value: 'false'
});
}
});
}());