jQuery лучше, чем React. Если вы занимаетесь веб-разработкой… | Мелисса Макевен
jQuery лучше, чем React. Если вы занимаетесь веб-разработкой… | Мелисса Макевен | Medium 2 минуты чтения·
3 декабря 2017 г. Я заметил, что на этой фотографии Гэвин и Гвен, и мне стало так грустно, что я добавил к ним градиентЕсли вы занимаетесь веб-разработкой, вы, вероятно, слышал о React. Я имею в виду, может быть, вы даже не знаете, что это такое, но вы знаете, что это очень круто и сексуально.
А jQuery — полная противоположность. В наши дни всем нравится ненавидеть jQuery. У меня был один из тех дурацких «тестов на дом», которые модные технологические компании используют для найма в эти дни, и он сказал, что я могу использовать буквально все, кроме jQuery.
Автор: melissa mcewen
6,8 тыс. подписчиков
Ошибки в программном обеспечении + обычные ошибки
Я просто больше не хочу быть разработчиком программного обеспечения
Я до сих пор люблю программировать, но ненавижу эту индустрию
·6 мин. чтения·22 ноября 2017 г.melissa mcewen
Является ли разработка веб-интерфейса сексистской?
Ранее на этой неделе судья отклонил коллективный иск против Google за дискриминацию в оплате труда.
·Чтение через 6 мин·9 декабря 2017 г.Мелисса Макевен
Как я оказался с домашними прыгающими пауками
Люди часто удивляются, что у меня есть домашние пауки. Часто они еще больше удивляются, обнаружив, что это не тарантулы, а самый распространенный вид…
6 минут чтения · 18 мая 2016 г. 1 На этой неделе видео под названием «Паук Лукас» стал вирусным. Я знаю, потому что все и их мама прислали его мне. А все потому, что я паук…
4 минуты чтения·10 ноября 2017 г.
Просмотреть все от melissa mcewen
Рекомендовано на Medium
The PyCoach
в
Искусственный уголок
Вы используете ChatGPT неправильно! Вот как опередить 99% пользователей ChatGPT
Освойте ChatGPT, изучив технику быстрого доступа.
·7 минут чтения·17 мартаStephen Adesina
в
Level Up Coding
10 веб-сайтов, которые платят вам до 1000 долларов за то, чтобы вы начали свое путешествие по техническому письму.
Вы находитесь на том этапе своего технологического пути, когда хотите поделиться своим опытом? Неважно, увлекаетесь ли вы технологиями…
· 8 минут чтения·19 январяСписки
Подсказки ChatGPT
17 историй·53 сохранения
Регламент AI
900 04 6 этажей·16 сохраненоChatGPT
21 история·23 сохранено
историй, которые помогут вам расти как разработчику программного обеспечения
19 историй·158 сохранено
Shalitha Suranga
в
Кодирование для повышения уровня
Сокращенный синтаксис JavaScript, который должен знать каждый разработчик ·7 минут чтения·28 июня
Джули Перилла Гарсия
в
Повышение уровня кодирования
Чтобы стать великим разработчиком программного обеспечения — Вам нужна система
Вот как ее создать.
·Чтение через 7 мин.·23 июняЛав Шарма
в
Dev Genius
Схема проектирования системы: полное руководство
Разработка надежной, масштабируемой и эффективной системы может быть пугающим. Тем не менее, понимание ключевых концепций и компонентов может сделать…
·9 мин чтения · 20 апреляДневники кодирования
в
Дневники кодирования
Почему опытные программисты терпят неудачу на собеседованиях по программированию
Один мой друг недавно присоединился к компании FAANG в качестве инженера-менеджера и оказался в положении найма для…
·5 минут чтения·2 ноября 2022 г.См. дополнительные рекомендации
Статус
9000 4 ПисателиКарьера
Конфиденциальность
Преобразование текста в речь
затем | Cypress Documentation
Позволяет вам работать с предметом, полученным от предыдущей команды.
Синтаксис
9// Выдает . nav как первый аргументcy.location().then((loc) => {}) // Выдает объект местоположения как первый аргумент
Аргументы
options (Object)
Передайте объект параметров, чтобы изменить поведение по умолчанию .then()
.
Опция | По умолчанию | Описание |
---|---|---|
таймаут | defaultCommandTimeout 9 0252 | Время ожидания .then() для разрешения до истечения времени ожидания |
callbackFn (Функция)
Передайте функцию, которая принимает ранее полученный субъект в качестве первого аргумента.
Выдает
Все, что возвращается из функции обратного вызова, становится новым субъектом и будет
переходят в следующую команду (за исключением undefined
или null
).
- Если возвращаемое значение представляет собой цепочку команд Cypress (например,
return cy.get('button')
), Cypress будет ждать их разрешения и использования их возвращаемое значение в качестве нового субъекта. - Если возвращаемое значение является обещанием, Cypress будет ждать его разрешения и использовать разрешенное значение в качестве нового субъекта для продолжения цепочки команд.
- Если обратный вызов возвращает
undefined
илиnull
(или нет возвращаемого значения), результатом последней команды Cypress в функции обратного вызова будет вместо этого уступил место новому субъекту и перетекает в следующую команду. - Если обратный вызов возвращает
undefined
илиnull
(или нет возвращаемого значения) и callback не вызывает никаких команд Cypress, тема не будет изменяется, и предыдущий объект будет перенесен в следующую команду.
Функция обратного вызова . then()
не повторяется. Это
небезопасно возвращаться
Элементы DOM непосредственно из обратного вызова, а затем используйте для них дополнительные команды.
Вместо этого используйте запросы Cypress, чтобы найти интересующие вас элементы.
или утверждать о.
Примеры
Элемент DOM
Элемент
button
полученcy.get('button').then(($btn) => {
const cls = $btn.attr('class ')cy.wrap($btn).click().should('not.have.class', cls)
})
Число получено из предыдущей команды
cy.wrap(1)
.then((num) => {
cy.wrap(num).should('equal', 1) // true
})
.should('equal', 1) // true
Изменить тему
Тема el изменена другой командой $btn).click().should(‘not.have.class’, cls).find(‘i’)
// так как нет явного возврата
// результат последней команды Cypress равен
})
.should(‘have.class’, ‘spin’) // утверждать элемент i
Субъект числа изменяется другой командой
cy. wrap(1).then((num) => {
cy.wrap(num)).should('equal', 1) // true
cy.wrap(2)
}).should('equal', 2) // true
Тема номера изменена возвращая
cy.wrap(1)
.then((num) => {
cy.wrap(num).should('equal', 1) // truereturn 2
})
.should( 'equal', 2) // true
Возврат
undefined
не изменит полученную темуcy.get('form')
.then(($form) => {
console.log( 'форма:', $form)
// здесь возвращается undefined, но $form будет
// передано для продолжения цепочки
})
.find('input')
.then(($input) => {
// у нас есть наш Элемент $input здесь с
// наш элемент формы был получен, и мы вызвали
// .find('input') для него
})
Raw HTMLElements упакованы с помощью jQuery
cy.get('div' )
.then(($div) => {
return $div[0] // type => HTMLDivElement
})
.then(($div) => {
$div // type => JQuery
})
Promises
Cypress ожидает разрешения Promises перед продолжением . клик( )
.then(($button) => {
const p = Q.defer()
setTimeout(() => {
p.resolve()
}, 1000)
return p.promise
})
Пример использования bluebird
cy.get('button')
.click()
.then(($button) => {
return Promise.delay(1000)
})
Пример использования отложенного jQuery .Deferred()
setTimeout(() => {
df.resolve()
}, 1000)
return df
})
Примечания
Различия 900 32
В чем разница между .тогда( )
и .should()
/ .and()
?
Использование .then()
При использовании функции обратного вызова с .should()
или .and()
, с другой стороны,
существует специальная логика для повторного запуска функции обратного вызова до тех пор, пока не будут выброшены утверждения
внутри.