Ответы пользователя по тегу Node.js
  • Как парсить товары?

    @StiflerProger
    предполагаю что у тебя $('.index-root-KVurS')это враппер всех машин, и поэтому у тебя цикл each выполняется только один раз, и в $(elem).find('div.iva-item-titleStep-pdebR > a') попадают сразу все названия и цены.
    --$('.index-root-KVurS').each(
    ++$('.index-root-KVurS > div').each(

    попробуй что-то типо этого, а лучше > div заменить уже на какой-то класс, который присущ каждой модели машины
    Ответ написан
    Комментировать
  • Почему не получается вернуть текст из контроллера?

    @StiflerProger
    Потому-что у тебя метод CheckEmailForBusy вернёт Promise void в случае, если он отработает без ошибок.

    async CheckEmailForBusy(email: any) {
            try {
                const res = await this.UserRepository.count({
                     where: {email: email.toString()}
                });
                if (res > 0) {
                     return '{"status": "200","Message": "This email is busy"}';
                }
                else {
                     return '{"status": "200", "Message": "kk"}';
                }
            } catch (err) {
                console.log(err);
                return `{"text": "${err}"}`;
            }
        }


    если хочешь использовать .then , нужно обернуть в Отдельный промис, и убрать async приставку

    public CheckEmailForBusy(email: any) {
      return new Promise((res, rej) => {
        this.UserRepository.count({
          where: {email: email.toString()}
        }).then( (Res) => {
          if (Res > 0) {
            return res('{"status": "200","Message": "This email is busy"}');
          }
          else {
            return res('{"status": "200", "Message": "kk"}');
          }
        }).catch(err => {
           return rej(`{"text": "${err}"}`);
        })
      });
    Ответ написан
    5 комментариев
  • Откуда оно берёт новый элемент массива и куда оно девает значения?

    @StiflerProger
    bot.on("message", msg => {
    
      let [type, ...data] = msg.content.toLowerCase().split(" ");
    
      if (msg.author.bot) return; // игнорируем бота
    
      switch (type) {
        case "!add":
          if (data.length < 2) return msg.reply("Введите, хотя бы 2 значения!");
    
          if (data.find(e => isNaN(e) || Number(e) === 0 || Math.floor(e) !== Number(e))) {
            return msg.reply("Числа должны быть целыми в диапазоне (-∞, 0), (0, ∞)");
          }
    
          msg.reply("Результат: " + data.slice(1).reduce((acc, cur, index) => acc - cur, data[0]));
          break;
    
        default:
          msg.reply("Чтобы вычислить разницу чисел. Вызовите команду !add <числа через пробел>");
          break;
      }
    
    })


    Для поставленной задачи код у тебя слишком запутанный. Не нужно сохранять нигде промежуточные результаты, и не нужно просить юзера вводить !math

    Конечно какой функционал писать дело твоё) но я решил не усложнять
    Ответ написан