невозможно использовать пользовательскую функцию в расширенном API-интерфейсе loopback

Я пытаюсь создать расширенный api для модели loopback

используя указанный ниже документ, http://docs.strongloop.com/display/LB/Extend+your+API

Но я не могу использовать настраиваемую функцию, предоставляемую loopback, например MainReview.count ().

module.exports = function(MainReview){


    MainReview.greet = function(msg, cb) {
      var MainReview = this;
      cb(null, 'Greetings... ' + **MainReview.count()** );
    }

    MainReview.remoteMethod(
        'greet', 
        {
          accepts: {arg: 'msg', type: 'Object'},
          returns: {arg: 'greeting', type: 'string'}
        }
    );
};

Я пробовал погуглить, но безрезультатно.


person Nishant    schedule 26.08.2014    source источник


Ответы (1)


Имейте в виду, что MainReview.count () является асинхронным и требует функции обратного вызова. Ваш код может быть изменен на:

module.exports = function(MainReview){


    MainReview.greet = function(msg, cb) {
      var MainReviewModel = this;
      MainReviewModel.count(function(err, result) {
        cb(err, 'Greetings... ' + result );
      }); 
    }

    MainReview.remoteMethod(
        'greet', 
        {
          accepts: {arg: 'msg', type: 'Object'},
          returns: {arg: 'greeting', type: 'string'}
        }
    );
};
person Raymond Feng    schedule 26.08.2014
comment
Большое спасибо, Рэймонд, я проверил, что это работает ,,,,, Пожалуйста, объясните это дальше и поделитесь ссылкой на это. - person Nishant; 26.08.2014
comment
Привет, Раймонд! Помогите мне решить эту проблему, stackoverflow.com/questions/25533589/ - person Nishant; 27.08.2014