Неучастное исключение в Promise all - PullRequest
0 голосов
/ 04 июня 2019

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

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

function emptyPromise(fail) {
	return new Promise(function (resolve, reject) {
		if (fail) {
			reject({
				status: -20,
				responseText: {
					reason: 'Empty promise',
					success: false
				}
			});
		} else {
			resolve();
		}
	});
}

var arr = [emptyPromise(true)];
Promise.all(arr).then(function(){}).catch(function(e){console.log(e);})

1 Ответ

0 голосов
/ 05 июня 2019

Я только что нашел решение, которое не генерирует Exception в инструментах Chrome Dev даже при проверке «Приостановить исключение».

function emptyPromise(fail) {
    return Promise.reject('rere');
}
emptyPromise(true).catch(function(){console.log(arguments)})

Этот статический метод отклонения обещания спас менятоннаПри создании пустого обещания сделайте их с помощью Promise.resolve (...) и Promise.reject (...).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...