2

我正在工作中学习 Node 和 Feathers。需要制作一个简单的应用程序,该应用程序将使用羽毛来加载带有示例数据的 [nedb]。

var fake = require('./fake.js');
var feathers = require('feathers-client');

var io = require('socket.io-client');
var socket = io("http://127.0.0.1:8000");
var app = feathers()
  .configure(feathers.socketio(socket));

var accountsAPIService = app.service('/api/accounts');

var dummyData = fake();

// import dummy data
for ( var i = 0; i < dummyData.accounts.length; i++) {
//  console.log(dummyData.accounts[i]);
  var params =  { query: {}};
  accountsAPIService.create(dummyData.accounts[i], params).then(function(account) {
    console.log("inserted: ", account);
  });
}
// read back inserted records
accountsAPIService.find(params, function(accounts) {
  console.log("accounts: ", accounts);
});

我只需要将数组 dummyData.accounts 中的项目插入服务器。当我运行脚本时,似乎没有导入任何内容。当我读回记录时,它返回:

accounts:  null

使用 Feathers 插入/创建记录的正确方法是什么?

4

1 回答 1

0

无法弄清楚如何使用“.then”,因此使用了常规形式:

for ( var i = 0; i < dummyData.accounts.length; i++) {
  var params =  { query: {}};
  accountsAPIService.create(dummyData.accounts[i], params, function(error, account) {
//    console.log("inserted: ", account);
  });
}

这很好用。为了读回数据,我更正了方法签名。然后,它起作用了。:)

accountsAPIService.find(function(error, accounts) {
  console.log("accounts: ", accounts);
});
于 2015-12-10T22:05:53.180 回答