Содержание

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) // true

return 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() , с другой стороны, существует специальная логика для повторного запуска функции обратного вызова до тех пор, пока не будут выброшены утверждения внутри.