169 похожих чатов

Давайте забъем. у меня вопрос есть. я вот не

понимаю тут одну вещь. на ноде у меня запускается функция artistsProcessing, ее задача обработать данные по артисту(артист это музыкант, композитор), мне нужно либо дупустить артиста до добавления его треков до плейлиста, либо скипнуть его после применения нескольких фильтров. вот как красиво сделать последовательное применение моих фильтров к нему, что-то не придумал никак. делаю так пока-что:
async function artistsProcessing(){
let artistData = await getNextArtist()

artistData = filterArtists.filterByYandexMusicUsersLiked(artistData)
if(!artistData) {
stopCurrentArtistProcessing()
return
}

artistData = filterArtists.filterByYandexMusicGenres(artistData)
if (!artistData) {
stopCurrentArtistProcessing()
return
}

artistData = filterArtists.filterByListenedTracks(artistData, listenedTracksController)
if(!artistData) {
stopCurrentArtistProcessing()
return
}

artistData = await filterArtists.filterByLastFmGenres(artistData)
if(!artistData) {
stopCurrentArtistProcessing()
return
}
await addTracksToYandexMusic(artistData.notListenedTracksWithAlbums)

stopCurrentArtistProcessing()
return

} я тупо передаю данные по артисту в фильтр, если артист фильтр не проходит, то возвращает null. но эти проверки if(!artistData) реально смущают, как-то покрасивее может можно?

1 ответов

13 просмотров

const artistFilterSteps = [ artistFilters.byYandexMusicUsersLiked, artistFilters.byYandexMusicGenres, artistFilters.byListenedTracks, artistFilters.byLastFmGenres ] async function filterArtist(artist) { let current = artist for (let filter of artistFilterSteps) { current = await filter(current) if (!current) { return null } } return current }

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта