0

これを構造化する最良の方法は何ですか..いくつかの関数を持つオブジェクトを返します..this.putで失敗します(「これ」はもうスコープにありません)..

return {
    put: function(o, cb){
        fs.writeFile(fn, JSON.stringify(o, null, 4), function(e, r){
                if(e) throw e;
                cb(o);
            })      
        },
    setItem: function(n, v, cb){
            this.get(function(o){
                o[n] = v;
                this.put(o, cb);
            })
    }
4

2 に答える 2

0

さらに別の代替手段は、これを適切な場所に .bind() することです。

return {
    put: function(o, cb){
        fs.writeFile(fn, JSON.stringify(o, null, 4), function(e, r){
                if(e) throw e;
                cb(o);
            })      
        },
    setItem: function(n, v, cb){
            this.get(function(o){
                o[n] = v;
                this.put(o, cb);
            } .bind(this) );
    }
}
于 2013-06-18T04:05:36.303 に答える