#javascript #promise
Вопрос:
Когда мы создаем a Promise()
, конструктор ожидает два параметра: resolve
и reject
.
Могу ли я создать обещание, используя только разрешение?
let promise = new Promise((resolve) => {});
Я пробовал, и это работает. Но, это хорошая практика? Ожидается, что это обещание будет выполнено при любых обстоятельствах.
Комментарии:
1.
When we create a Promise(), the constructor expects two parameters: resolve and reject.
Нет, это не так. Конструктор ожидает один параметр, функцию.
Ответ №1:
Да, это выполнимо. Если
- вы уверены, что Обещание всегда будет выполнено, или
- нет реального способа определить, происходит ли ошибка (в этом случае
reject
параметр все равно не будет использоваться)
тогда использование только этого resolve
параметра является разумной возможностью.
Если есть хоть какая — то вероятность ошибки — даже неожиданной ошибки-было бы неплохо использовать этот reject
параметр. В конце концов, многих ошибок не ожидается.
Ответ №2:
да, вы можете с
Promise.resolve(value);
см. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/resolve