2014-11-12 3 views
0

Я пытаюсь использовать feathersjs, но я не могу пройти образцы программ (список todo на основном сайте feathers.js). Единственное, что передается в функции, это полученные данные. param и callback всегда не определены.Ответ на вызов featherjs не определен

var myService = { 
    find: function(params, callback) {}, 
    get: function(id, params, callback) {}, 
    create: function(data, params, callback) {}, 
    update: function(id, data, params, callback) {}, 
    patch: function(id, data, params, callback) {}, 
    remove: function(id, params, callback) {}, 
    setup: function(app, path) {} 
} 

Что я делаю неправильно? мне нужно использовать более старую версию? Я в настоящее время использую "последний" для перьев в моем package.json

Edit:

Я буквально копировать вставил пример код из http://feathersjs.com/#documentation

Edit: Источник файлов добавил:

// app.js 
var bodyParser = require("body-parser"); 
var compression = require("compression"); 
var express = require("express"); 
var feathers = require("feathers"); 
var http = require("http"); 
var io = require("socket.io"); 

var v1 = require("./lib/v1"); 
var config = require("./lib/config"); 

var app = feathers() 
    .configure(feathers.socketio()) 
    .use(bodyParser.json()) 
    .use("/v1", v1) 

var port = process.env.PORT || 3000; 
app.listen(port); 

и

//lib/v1.js 
var v1Service = { 
    find: function(params, callback) { 
     console.log("finding"); 
     callback(null, [{ 
      "uuid": "blahblahblah" 
     }]); 
    }, 
    get: function(id, params, callback) { 
     console.log("geting"); 
     callback(null, { 
      "uuid": "blahblahblah" 
     }); 
    }, 
    create: function(data, params, callback) { 
     console.log("creating, args:" + JSON.stringify(callback)); 
     callback(null, { 
      "uuid": "blahblahblah" 
     }); 
    }, 
    update: function(id, data, params, callback) { 
     console.log("updating"); 
     callback(null, { 
      "uuid": "blahblahblah" 
     }); 
    }, 
    patch: function(id, data, params, callback) { 
     console.log("patching"); 
     callback(null, { 
      "uuid": "blahblahblah" 
     }); 
    }, 
    remove: function(id, params, callback) { 
     console.log("removeing"); 
     callback(null, { 
      "uuid": "blahblahblah" 
     }); 
    }, 
    setup: function(app, path) { 
     console.log("setup"); 
    } 
} 

module.exports = v1Service; 

Редактировать: добавлено e rror

TypeError: undefined is not a function 
    at Object.v1Service.get [as _super] (/api_dev/lib/v1.js:11:3) 
    at Object.<anonymous> (/api/node_modules/feathers/lib/mixins/promise.js:6:30) 
    at Object.self.(anonymous function) [as get] (/api/node_modules/feathers/node_modules/uberproto/lib/proto.js:61:21) 
    at Socket.<anonymous> (/api/node_modules/feathers/lib/providers/socket/commons.js:27:23) 
    at Socket.EventEmitter.emit (events.js:95:17) 
    at Socket.onevent (/api/node_modules/socket.io/lib/socket.js:327:8) 
    at Socket.onpacket (/api/node_modules/socket.io/lib/socket.js:287:12) 
    at Client.ondecoded (/api/node_modules/socket.io/lib/client.js:185:14) 
    at Decoder.Emitter.emit (/api/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20) 
    at Decoder.add (/api/node_modules/socket.io/node_modules/socket.io-parser/index.js:247:12) 
+0

Как ваша установка приложения и маршруты? Вероятно, есть ошибка –

+0

okay, добавлены соответствующие исходные файлы – FlimboyJim

ответ

1

Проблема была в моем клиентском javascript. Я неправильно использовал «испускать»:

var sock = io.connect(); 
sock.emit("v1::create", {"some":"data"}) 

Указанный javascript неверен. Два дополнительный параметр должен быть поставлен:

var sock = io.connect(); 
sock.emit("v1::create", {"some":"data"}, {}, function(){ console.debug("IN CALLBACK") }) 

Я не думаю, что проблема будет из кода на стороне клиента, но это

+0

В следующей версии (1.1) убедитесь, что это больше не будет проблемой. – Daff