Press "Enter" to skip to content

map for async iterators in JavaScript


доброе утро понедельника вы смотрите
серия в итераторах в JavaScript в
видео на прошлой неделе мы исследовали
концепции итераторов более высокого порядка или
концепция наличия итератора
где мы изменили содержание
во что-то другое, как мы можем
использовать карту и фильтр по массиву
преобразует содержимое массива в
На прошлой неделе мы создали функцию
вызвало задержку, которая
итерация и вернуть новую итерацию
как робот, но где поток
с задержкой на пару секунд это
концепция, которую мы будем продолжать
исследуя сегодня и сегодня, мы собираемся
написать функцию карты, но для iterables
вместо массивов хмм я mpj и вы
смотрят веселую забавную функцию
[Музыка]
хорошо оговорка в том, что сегодня я
очень устал и очень теплый, я
так потный все тепло шведское
лето, и я как о, но независимо от того,
не всегда могут иметь суперэнергетические уровни
Иногда вы просто должны опираться на
проблема в любом случае, как вы хорошо знаете
это шоу спонсируется толкателем-толкателем
снимает боль с добавления в реальном времени
возможности совместной работы и коммуникации
к вашему приложению закрывает паб / подпитки для мобильных устройств
подтолкнуть вас назвать это проверить его объявление толкатель
dot fun для action.com, эта ссылка также
в описании эпизода хорошо давайте
сделайте это здесь, мы находимся на наблюдаемом
ноутбук с видео на прошлой неделе я
собираемся развить это так, чтобы мы не
перезапишите это, теперь у нас есть новый
версия ноутбука вы после
мы закончили здесь, вы найдете
ссылку на этот ноутбук в
описание эпизода, чтобы вы могли играть
вокруг с этим самим и перед нами
входите в создание карты, мы собираемся
устранить проблему, которая мешала
меня ненадолго, и это
факт, что эта вещь иногда
вы можете видеть это иногда и
иногда не нравится, что там там
вспыхивает, как есть , и это
потому что изображения загружаются на
летать и то, что я хотел бы сделать
заключается в предварительной загрузке изображения перед его
отображает его так, что там есть
это не флеш- продукт, просто я покажу
как мы это сделаем, так это то, что мы
будут реализовываться точно так же
у нас есть отложенная функция, которая создает
отсроченная версия кошек
поиск фликер-тега, который мы создали
мы создадим функцию, которая
называемый предварительно загруженным, который создает поток
где все изображения предварительно загружены
до того, как они или уступят, мы идем
для создания функции предварительного изображения и
что это делает то , что он собирается
принимать и
графа, и он будет следить за тем, чтобы
что граф этого изображения
предварительно загружается в кеш браузера и
то он возвращает обещание , которое
решите, что Граф, да, я сделал
не будет слишком много входить в этот код, поскольку он
на самом деле не связано с проблемой в
рука
он просто загружает изображение и помещает его
в кеш браузера, это то , что вы
нужно знать теперь, давайте фактически создадим
функция предустановленной функции
предварительно загруженная эта функция будет
сделайте iterable this iterable here it
предполагает, что быть последовательным из трав
и эти URL-адреса выглядят как изображения и
Предполагается, что предварительно загруженный
новая итерация , где каждое изображение
гарантированно будет предварительно загружен, давайте просто
сделайте это для веса const SRC, чтобы съесть свой
миска, если для веса все смущает вас
это потому, что вы пропустили
эпизодов в этой серии есть
более ранняя версия, в которой мы говорим
о 408 от ключевого слова вы можете проверить
это там, у нас есть вес
ключевое слово здесь означает, что нам нужно
сделать эту функцию цинком или ждет
ключевое слово не будет работать, мы могли бы
назовите это, возможно, или нет, а затем
мы могли бы просто позвонить каждому так каждый раз, когда мы
получить графа от нашего итератора синхронизации
здесь, которые являются URL-адресами, мы собираемся предварительно
загрузите изображение, и мы будем красивы
низкий урон в этом графе, и вы, что
да, я имею в виду, что нам действительно не нужно делать
любой вес здесь, потому что изображение предварительной нагрузки
все равно вернем обещание, так хмм
Я думаю, что давайте попробуем это
oh, ожидая, что ключевое слово
зарезервировано да
вы не можете просто использовать доход случайно
на самом деле нужно сделать это внутри
генератор, и мы добавим немного звезды здесь
чтобы обозначить, что это генератор
хорошо, посмотрим, работает ли это
пойдем к Кацу, а потом
эта вещь в предварительно загруженную там мы идем
да, это не работает, нет, это не все
есть хорошо известная отладка
техники среди старших программистов, которые
называется расстроенным и
щелкнув вокруг, кажется, что это
итерацию над URL , все в порядке , как
как нить, так хмм хмм да, это должно быть
чтобы наблюдаемые были более полезными, и мы
хочу, чтобы это было или очень приятно, что
это полезно, это просто не хорошо для
цели этого я объясняю
вещи, которые мы выполняли последней функцией
сделала отложенную функцию здесь, мы
вручную создавая асинхронный итератор с
кода, но в нашей новой предварительной загрузке мы
были использованы, будем ли мы использовать синхронизацию
генераторы для создания асинхронного итератора
и наблюдаемый имеет некоторые вещи, которые он
использует, чтобы признать, что что-то есть и
генератор синхронизации, и он делает некоторые
полезно преобразовать все, что это выглядит
заставляет нас не нуждаться в этом ,
Это означает , что мы вроде ЭЭ для
каждый , как мы итерация
то , что уже рутина аа
итерация, и именно поэтому мы
как вы выглядите здесь
почему это синтаксический анализ, это сильные стороны
время, так что я собираюсь сделать только для
прекратите все свое замешательство, которое я собираюсь сделать
это наблюдаемый путь, и я собираюсь
удалить все это да край неудобный
HTML здесь, и я просто напишу
коты здесь попали, так что здесь есть кошки
и коты здесь я знаю, что это работает
он здесь, мне нравится, что не мигает
это просто
быстрые переключатели, пока вы на это давайте
фактически реорганизовать эту задержанную функцию
в генератор, а потому ,
синхронизация итераторов вручную их создание
было бы полезно сделать это, чтобы
что вы понимаете, что мы за
Гера генератор прибывает из , но
обычно вы хотите сделать это, когда
генераторы синхронизации, поскольку синтаксис
будет намного приятнее, я собираюсь
рефакторинг этого генератора сообщений
[Музыка]
там да, как вы видите, как это сравнивается
это намного короче, так что давайте
начните думать о метке мерцания карты
поиск здесь не так много данных для отображения
потому что поиск метки фликера прямо сейчас
он возвращает только один тип источника
источник Эрл I, и это немного ограничивает
потому что мерцание продукта может быть много
разные размеры, поэтому было бы неплохо, если бы
поиск метки мерцания на самом деле не
просто верните кучу URL-адресов, которые он
просто верните то, что он сказал, возвращает объекты
которые имели URL-адреса для представления различных
размеры фотографий, поэтому давайте рефакторинг щелчком
атаковать, чтобы сделать это
[Музыка]
все в порядке, так что теперь он возвращается
объект с квадратным графом и средой
Граф справа, а затем здесь мы
как это имеет смысл, это настоящая говядина
фото и теперь, когда у нас есть это
это означает, что все сломано
предустановленное это потому , что это
будет теперь предположить , как это предполагает
что он получает, что итератор имеет
куча стрелок , которые не будут работать
будет фотографировать и не повесить
фотографирует все так — мы собираемся
предварительно загрузите Европу, и теперь она работает
однако это немного странно предварительно загружено
в настоящее время известно о том , что фотографии выглядят
означает, что предварительно загруженный — это
еще больше вещей, которые мы хотели бы
осознавая, что это было так приятно, когда это было просто
например, работать с итерабельными URL-адресами
теперь он просто знает фотографии в
что площадь фотографии так будет
Приятно, если бы мы смогли зацепиться за карту
функции, которые могут отфильтровывать или
например, сопоставляйте только URL-адреса, чтобы
предварительно загруженные могут работать на них, поэтому мы
собираются написать карту, поэтому помните
эта карта похожа на концепцию в функциональном
программируя его, и это метод на
массив У меня действительно есть интересный
эпизод на карте здесь, что вы могли бы
посмотри, что мы будем делать, это мы
собираемся писать карту для итераторов и
как они работают на гонке, они
в основном функция, которая возвращает новую
массив, в котором каждый элемент
через карту отображалась функция отображения и
были преобразованы и таким же образом
это создаст итератор
где каждый предмет был
природу картографа и преобразовать, так что это
функция, которая принимает, принимает картутор и
он берет итерируемый съесть чашу и
вы знаете, что мы можем на самом деле захватить
предустановленная довольно загруженная функция здесь
и в качестве основы для этого, потому что это
очень похоже, поэтому я просто позвоню
карте, а вместо фотографий мы
итерации и
вращающийся
iterable и для каждого элемента в a
Стол, который мы собираемся, я его не кормлю
через картографический указатель строки строки и
дайте это так, да, вот и все.
теперь я могу добавить это здесь и это
это становится немного грязным, и я
знаете, что это тоже НАСА, мы
буду иметь дело с этим позже я
обещаю, я покажу вам классный способ
имея дело с этим, но для каждой фотографии
мы собираемся извлечь фотографию точка S
квадрат, и теперь нам нужно вернуться к
предварительно загружен и собирается выбросить назад
вернуться к использованию этих источников
и предварительно загруженная доля, которая делает это да
круто, так что теперь мы вернулись, и теперь мы
используя карту для подачи, как преобразовать каждый
фото в квадратные URL-адреса, которые
затем переход в замедленное преобразование
и затем эта вещь предварительно загружает каждый
изображение это супер беспорядочно читать, хотя
даже если я начну отступать от него умным
способами вроде этого это все еще не
как будто это все еще просто сложно
и это похоже на это si из
архитектурная точка зрения это довольно
Приятно, что это так, как будто это поток
где мы просто питаемся от одной функции до
другой
это похоже на структурное ощущение
то, что мы хотим сделать, это просто
что синтаксис здесь просто делает его
так трудно читать, и эта вещь, где мы
просто используйте эти функции, которые
друг друга, это очень часто встречается в
функционального программирования, и поэтому существуют
вспомогательные функции для этого во всех
так что мы на самом деле
собираюсь задействовать функциональный
язык программирования лямбда
lambda — это тонна функций и
это очень легко легко попасть в
эта ловушка использования Ram отложить путь слишком
многое и просто откладывать на
поиск или kübra по методу, но один
очень полезная функция Рам — это труба и
он решает нашу точную проблему здесь.
показать, как это работает
[Музыка]
[Музыка]
все в порядке, я реорганизую это, используя
трубы, так как вы видите здесь, мы просто позвоним
щелкнуть поиск кота грязный Кирк тег
поиск кошек, и это повторяемый и
который подается в функцию, которая
созданный трубы и трубы так же , как
это они одни и те же функции , это
просто мы положили их в обертку
функции теперь, когда мы просто
итерация здесь происходит через
первый один , а затем , как это называется с
карту, а затем все, что возвращается туда
это то, что это происходит здесь, а затем
который готов отложить и что угодно
возвращенный из этой функции, здесь
здесь, и это происходит здесь
это очень немного напоминает
обещания, а затем вы знаете, как
все проходит через
затем это все еще очень многословно и
мы не упростим это немного
Я просто провожу вас через каждый шаг
здесь интервал здесь, когда вы видите, что
это означает, что это
это немного лишняя функция, мы не
мы фактически можем просто предварительно загрузиться в
немедленно это, однако это не
ненужно, нам нужно фактически пройти
истребитель может каким-то образом отложить
как мы не можем просто сделать это или можем мы
вот где я собираюсь показать вам
техника называется карри, поэтому мы ищем
откладывается здесь, я могу просто отложить задержку и
если мы просто сделаем это,
задержка в функцию , которая принимает
количество секунд
играли или так задерживали секунды, а затем
верните эту функцию, чтобы мы могли удалить
этот аргумент здесь, потому что мы сейчас
переместил его сюда
поэтому давайте посмотрим, но мы не создаем
дисфункция, которая делает другую функцию
и это называется так называемым
перенос или частичное применение Я не
точно знать, что это называется, но это
техника построения функций вверх
постепенно, так что это означает, что эта вещь
Вот
извините, перейдите в coma, теперь он создает
функция , которая создаст итерабельную
так что теперь это отложено
создавая функцию, которая очень
подходит для переходов в трубы типа
это и мы собираемся сделать то же самое для карты
здесь на самом деле я собираюсь сделать карту
карта kuriboh равна картеру, и мы
собираюсь удалить это оттуда, потому что мы
переместили картупера сюда, и я
собираюсь сохранить или обновить то, что
означает, что теперь я могу удалить эту оболочку
здесь и сейчас мы хорошо, а жаль, давай
пойти на
и теперь он должен работать да, так что это
более читабельны и то, что мы видели
прежде чем так оно работает, так это
здесь, как инертном, мы
создание из поиска мерцающего тега, что
передается в карту, а затем
отложен, а затем он был предварительно загружен
некоторым людям нравится называть эти вещи так
если я только что создал возможно задний экстракт
urls и позволить захватить это, и я вернусь
вот и я просто так , потому что
создает такую самодокументируемую вещь
с небольшими функциями, бит материи
вкуса, а также как вопрос контекста
Я думаю , что это, вероятно , немного
бит, потому что это так мало
сложность довольно довольно ясно, что
это делает я
вероятно, оставить его в строю, чтобы быть
честный, но это то, что вы можете
сделайте одно , что вы могли заметить
пока мы копировали предварительно загруженный
дело в том, что это казалось
математика и предварительно загруженные были немного похожи
возможно, мы можем использовать карту для реализации
предварительно загруженный, мы можем сделать это, давайте просто
прокомментируйте это немного и посмотрим, можем ли мы
может сделать эту предварительно загруженную цену, мы можем просто
возможно, мы можем использовать карту do, а затем
preload image hahaha
введите, и он работает, я мог бы удалить это
так что в этом случае, возможно,
здесь небольшая переменная, возможно , это
бит, возможно, мы могли бы
фактически в строке, что в строке, что здесь
и избавиться от этой дополнительной вещи здесь вы
знаю, что отсрочено, возможно, мы сможем это сделать
это тоже не та
вроде того, что вы можете на самом деле
просто вырвать задержка в свою собственную вещь
избавьтесь от этого здесь, чтобы мы сделали
что мы используем это, и это
это не совсем то же самое, но давайте попробуем
с помощью карты и посмотреть, где
собирались
давайте посмотрим задержанную карту, и это все
мы получаем остров, и мы ждем
для задержки секунд и всего, если задержка
секунд, а затем мы возвращаем элемент ожидания
ждать ждать все это должно быть раковина
Точка возврата ключевого слова — исследование
о да, это нужно
— нет, мы не нужны вам все три
отличный элемент, оцененный bro yeah I
думаю, что это похоже на то, что это
это путается, что, где я
ожидая, я думаю, нам нужно это сделать или
возможно, нет
возможно, все возможно, это нет, нет, это не так.
или предмет о, который работает, поэтому я могу я могу
удалить своих родителей, они им не нужны
что я делаю это хорошо, все в порядке, так что
теперь мы заменили это на карту
и это действительно показывает вам, почему карта так
невероятно мощный и функциональный
программируемый код просто испаряется
это лишний шаг не нужен
можем ли мы просто вставить это в кошек
это имеет смысл, давайте попробуем, чтобы a —
да, я полагаю, мы могли бы это просто не
очень нравится это много искажать это
не супер читаемый, как это кажется
прямо мне кажется это кажется
прямо мне это mmm не так много
Я думаю, что сохранение этого здесь делает
смысл это довольно ясно делает для
хороший поток, поэтому это как извлечение делает
смысл
Я думаю, что ты задержался, я не буду
собираемся в линию вы и это карта для
тонуть итераторы Я надеюсь , что этот Расширить
ваши горизонты немного Я надеюсь, что это было
интересный и показал вам немного
что мы можем, как мощный раковина
итераторы и что мы можем сделать с
их много функциональных
программирования и там также показал вам
немного трубы немного
если этот эпизод
смутил вас, что вполне нормально
это означает, что вы учитесь
опубликуйте комментарий ниже, прося свой
вопросы или интересно
путаницы или если вы хотите поддержать
показать, что вы можете стать покровителем веселья
функции для ваших акций Scala и
дает вам доступ к форуму Fun Fun
который является дружелюбным к вентиляторам и местом развлечений
где вы можете обсудить код и жизнь и
вещи в этом эпизоде ​​со мной и другими
программистов в качестве ссылки на эту тему для
этот эпизод в форуме поклонников вентилятора
абсолютное описание не проверить его
и не забывайте, что наш спонсор-толкач
функция вентилятора толкателя точки comlink как
в описании эпизода у вас есть
просто смотрел эпизод веселья
функция я выпускаю каждый понедельник
утро или ждать сто GMT вы можете
подписаться здесь, чтобы вы не пропустили его
или вы можете смотреть другой эпизод вправо
теперь, нажав здесь, я буду mpj до следующего
В понедельник утром остаются любопытными
Please follow and like us:

Be First to Comment

Добавить комментарий