0

マングース仮想セッターがいつ「設定」されたかを知る方法はありますか?

例えば:

schema.virtual('file").set(function(fileObj) {
    var that = this;
    var dst = '/somewhere/else.txt';
    fs.rename(fileObj.path, dst, function(err) {
       that.set("file.path", dst);
       that.markModified('file');
       //here i would like to know that the setter finished doing stuff so can potentially save my object
    } 
});

私が直面している問題fileは、マングース モデルのプロパティを設定するときに、名前の変更がいつ行われたかを知る方法がないため、オブジェクトを保存するときに、セッター コードの実行が終了していない可能性があることです。

ファイルを設定するモデルでメソッドを作成するだけでよいことはわかっていますが、セッターでそれを行う方法はありますか?

4

1 に答える 1

1

オプションは次のいずれかです。

  1. fs.renameSync仮想セッター メソッドの代わりに使用するにはfs.rename、同期する必要があります。
  2. fs.rename完了時にメソッドが呼び出すコールバックパラメーターを受け入れることができるインスタンスメソッドに切り替えます(言及したように) 。
于 2012-11-26T17:32:28.263 に答える