从beforeRemote返回

时间:2014-11-23 12:28:24

标签: loopbackjs strongloop

我有两个问题关于" beforeRemote"环回的方法 -

  1. 如何在beforeRemote方法中获取模型方法?我的意思是在BeforeRemote里面我想调用(比如说)" upsert"模型的方法。
  2. 如何从beforeRemote返回调用?返回我的意思是代替执行目标调用方法,执行将从beforeRemote方法返回。
  3. 我的代码 -

    Installation.beforeRemote("create", function (context, result, next) {
        var data = context.req.body;
        console.log("ImEI" + data.imei);
        data.vendor = "jahid";
    
        var self = this;
        var filter = {where: {imei: data.imei}};
    
        //the self here point to global object. but i want self to point to model
        self.findOne(filter, function (err, result) {
            if (result) {
                data.id = result.id;
                self.upsert(data, function(err, result){
                if(err){
                    next(err);
                } else if(result) {
            //here i want to send a valid response back to client with 200 and body as my model.
                    next(data);
                }
            });
            return;
        }
        next();
    });
    });
    

1 个答案:

答案 0 :(得分:1)

  1. 您可以从module.exports声明访问安装模型:

    module.exports = function(Installation) {
      ...
      Installation.upsert...
      ...
    }
    
  2. 您可以从context对象访问响应对象。因此,您只需回复context.res.send('hello world')之类的内容,而不是致电next()