Другой способ вызова метода без lodash?

В моем приложении Meteor эта функция голосования с вызовом метода работала нормально, пока я не включил скрипт compability, который экспортирует lodash, поскольку var _ = runInContext();теперь я получаю ошибку, которая _.containsне является функцией.

Есть ли другой способ запустить эту функцию и позвонить без _.contains?

Нажатие кнопки:

"click [data-action='addLikes']": function (event) {
    event.preventDefault();
    var song = Songs.findOne({_id: this._id});
    upvote(song);
}

Метод сервера:

upvote = function(currentSong){
  var user = Meteor.user();
  if(!user){
    return false;
  }
  if (currentSong) {
    if (_.contains(currentSong.voters, Meteor.userId())) {
      return false;
    }
    Songs.update(currentSong._id, {$addToSet: {voters: Meteor.userId()}, $inc: {likes: 1}});
  }
};

javascript,mongodb,meteor,lodash,

0

Ответов: 1


0 принят

Если currentSong.votersэто массив, вы можете использовать два решения:

ES6 :

currentSong.voters.includes(Meteor.userId())

ES5 :

currentSong.voters.indexOf(Meteor.userId()) > -1

или сокращенное

~currentSong.voters.indexOf(Meteor.userId())
javascript, mongodb, метеор, lodash,
Похожие вопросы
Яндекс.Метрика