0

以下は正常Node callbackに機能しましたが、NeDB

Datastore = require 'nedb'
db = new Datastore

db.insert a: 'Hi!', (err, docs) -> 
    console.log docs

次に、に変換しようとしNeDB Node callbackましたがBacon EventStream

Bacon = require('baconjs').Bacon
Datastore = require 'nedb'
db = new Datastore

insert = Bacon.fromNodeCallback db.insert, a: 'Hi!'

insert.onValue (docs) ->
    console.log docs

以下でなぜ失敗したのですか?

TypeError: Cannot call method 'push' of undefined
4

1 に答える 1

1

その方法を通過db.insertすると、その評価コンテキストが失われます (「これ」はデータベースではなくなります)。の他の形式を使用してみてくださいfromNodeCallback:

insert = Bacon.fromNodeCallback(db, 'insert', {a: 'Hi!'})
于 2015-01-01T16:53:11.903 に答える