Я использую собственные node.js's Promises, и вопрос here действительно дал мне какой-либо момент. В принципе, у меня есть функция, как показано ниже:Обещание - попробуйте, пока он не достигнет
var foo = foo (resolve, reject) {
return obj
.doA()
.doB()
.then(function (value) {
// here I choose if I want to resolve or reject.
})
.catch(function(err) {
});
}
var promise = new Promise(foo);
return promise
.then(function() {
// I know here what I have to return.
})
.catch(function(err){
// I want to repeat the foo function until it is resolved and not rejected.
})
obj
обетованная объект. Я хотел бы повторить функцию foo, пока выполняется обещание; если он отклонен, повторите попытку.
Я не знаю, как структурировать цепочку. Любая помощь? Спасибо.
Пока обещание выполнено, и до тех пор, как обещание отвергается являются _super_ похожи. Единственное различие заключается в проверке '.catch' vs'. Then' - вы можете вместо этого спросить, как преобразовать отклоненное обещание в отработанное и наоборот. Определенно дубликат. –
Ответы в этом дубликате кажутся слишком сложными и плохо подходят для этой проблемы - IMHO - и не могут решить некоторые основные проблемы с этим кодом, например. нет необходимости в 'новом обещании' в этом коде вообще –
@BenjaminGruenbaum дубликат? Я не видел вопроса о завершении обещания до тех пор, пока он не будет выполнен с помощью собственных обещаний node.js. Пожалуйста, поделитесь ссылкой. Благодарю. –