Проблема, с которой я столкнулся в течение двух недель при изучении node.js, заключается в том, как выполнять синхронное программирование с использованием node. Я обнаружил, что независимо от того, как я стараюсь делать что-то последовательно, я всегда получаю вложенные обещания. Я обнаружил, что есть такие модули, как Q, чтобы помочь с цепочкой обещаний в части обслуживания.
Что я не понимаю во время исследования, так это Promise.all()
, Promise.resolve()
и Promise.reject()
. Promise.reject
довольно Promise.reject
по названию, но при написании приложения я не понимаю, как включить любое из них в функции или объекты, не нарушая поведение приложения.
Существует определенная кривая обучения для node.js, когда он исходит из языка программирования, такого как Java или С#. Вопрос, который все еще остается, состоит в том, является ли цепочка обещаний нормальной (лучшая практика) в 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);
});
});
});