2017-10-06 2 views
0

Ich möchte meine API mit Loopback zu erweitern. Ich habe die Dokumentation gelesenLoopback - Wie zu verlängern API mit Loopback

'use strict'; 

module.exports = function(Meetups,pusher) { 

    Meetups.status = function(cb) { 
     var currentDate = new Date(); 
     var currentHour = currentDate.getHours(); 
     var OPEN_HOUR = 6; 
     var CLOSE_HOUR = 20; 
     console.log('Current hour is %d', currentHour); 
     var response; 
     if (currentHour >= OPEN_HOUR && currentHour < CLOSE_HOUR) { 
     response = 'We are open yeah!!! for business.'; 
     } else { 
     response = 'Sorry, we are closed. Open daily from 6am to 8pm.'; 
     } 
     cb(null, response); 
    }; 
    Meetups.remoteMethod(
     'status', { 
     http: { 
      path: '/status', 
      verb: 'get' 
     }, 
     returns: { 
      arg: 'status', 
      type: 'string' 
     } 
     } 
    ); 
    Meetups.pusher = function(cb) { 

     if (2>1) { 
      response = 'sending something'; 
     } else { 
      response = 'mont blanc'; 
     } 
     cb(null, response); 
     }; 
     Meetups.remoteMethod(
     'pusher', { 
      http: { 
      path: '/pusher', 
      verb: 'get' 
      }, 
      returns: { 
      arg: 'pusher', 
      type: 'string' 
      } 
     } 
    ); 

}; 

Zuerst habe ich hinzugefügt/Status Route und es hat gut funktioniert. Aber, als ich versuchte,/pusher hinzuzufügen. Es hat einfach nicht funktioniert. Ich erhalte einen Fehler

{ 
    "error": { 
    "statusCode": 500, 
    "name": "ReferenceError", 
    "message": "response is not defined", 
    "stack": "ReferenceError: response is not defined\n at Function.Meetups.pusher (/Users/ankursharma/Documents/projects/meetupz/common/models/meetups.js:34:20)\n at SharedMethod.invoke (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/lib/shared-method.js:270:25)\n at HttpContext.invoke (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/lib/http-context.js:297:12)\n at phaseInvoke (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/lib/remote-objects.js:677:9)\n at runHandler (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/node_modules/loopback-phase/lib/phase.js:135:5)\n at iterate (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/node_modules/loopback-phase/node_modules/async/lib/async.js:146:13)\n at Object.async.eachSeries (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/node_modules/loopback-phase/node_modules/async/lib/async.js:162:9)\n at runHandlers (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/node_modules/loopback-phase/lib/phase.js:144:13)\n at iterate (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/node_modules/loopback-phase/node_modules/async/lib/async.js:146:13)\n at /Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/node_modules/loopback-phase/node_modules/async/lib/async.js:157:25\n at /Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/node_modules/loopback-phase/node_modules/async/lib/async.js:154:25\n at execStack (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/lib/remote-objects.js:522:7)\n at RemoteObjects.execHooks (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/lib/remote-objects.js:526:10)\n at phaseBeforeInvoke (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/lib/remote-objects.js:673:10)\n at runHandler (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/node_modules/loopback-phase/lib/phase.js:135:5)\n at iterate (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/node_modules/loopback-phase/node_modules/async/lib/async.js:146:13)" 
    } 
} 

Ich bin mir ziemlich sicher, es ist ein sehr kleiner Fehler. Ich bin Anfänger im Loopback und versuche Loopback in meinem Projekt zu implementieren.

Antwort

1

In dem Beispiel definieren sie Antwort als eine lokale Variable für diese Remote-Methode, die Sie nicht haben. Zweitens, (Meetups, Pusher) müssen Sie Pusher hier nicht exportieren. Du fügst Meetups hinzu.