Проблема, с которой я боролся в течение двух недель, изучая node.js, - это как сделать синхронное программирование с помощью узла. Я обнаружил, что независимо от того, как я пытаюсь делать все подряд, я всегда получаю вложенные обещания. Я обнаружил, что есть такие модули, как Q, чтобы помочь с цепочкой обещаний в отношении ремонтопригодности. Что-то, чего я не понимаю при проведении исследований, это Promise.all() и Promise.resolve() и Promise.reject(). Promise.reject в значительной степени объясняет себя по имени, но при написании приложения я смущен тем, как включать любые из них в функции или объекты, не нарушая поведение приложения. Существует определенно кривая обучения для node.js при выходе с языка программирования, такого как Java или C#. Вопрос, который все еще существует, заключается в том, что обычная цепочка (лучшая практика) в node.js.Являются ли вложенные обещания нормальными в node.js?
пример
driver.get('https://website.com/login').then(function() {
loginPage.login('company.admin', 'password').then(function() {
var employeePage = new EmployeePage(driver.getDriver());
employeePage.clickAddEmployee().then(function() {
setTimeout(function() {
var addEmployeeForm = new AddEmployeeForm(driver.getDriver());
addEmployeeForm.insertUserName(employee.username).then(function() {
addEmployeeForm.insertFirstName(employee.firstName).then(function() {
addEmployeeForm.insertLastName(employee.lastName).then(function() {
addEmployeeForm.clickCreateEmployee().then(function() {
employeePage.searchEmployee(employee);
});
});
});
});
}, 750);
});
});
});
[Вот очень похожий вопрос я задал некоторое время назад] (http://stackoverflow.com/questions/22539815/arent-promises-just-callbacks) –