2016-03-25 6 views
1

私はMeteorとminimongoによって行われた遅延補正を再現しようとしています。たとえば、クライアント上にidを作成し、メソッドを呼び出した後にサーバ上の同じIDを作成すると、クライアントはサーバレスポンスを待たずにUIを更新できます。流星ランダムパッケージ対randomSeed

このためには、クライアントとサーバーの両方で同じIDを生成する必要があります。流星中のSO

、私がしなければ:Random.createWithSeeds( 'ABC')のid()

私は常に取得:。 WKrBPwCSbzNHmhacn

しかし、私はから接続して、外部のアプリならばddpクライアントを使用してメーターの外にある: self.send({msg: 'メソッド'、id:id、randomSeed: 'abc'、メソッド:name、params:params});

私は別のIDを取得します。反復可能ですが、ランダムで生成されたものと同じではありません。どうして?

わかりません。彼らは異なるgenerationIdアルゴリズムを使用していますか?メテオで :私はを使用してい

パッケージの外部クライアント上https://atmospherejs.com/meteor/random (メテオ外):random.js

答えて

0

https://github.com/eddflrs/meteor-ddp +ソースコードこれは完全な答えではないかもしれない(私はまだですあまりにも)見ているが、あなたはRandom.createWithSeedsを使用している方法は、次のようになります。

> let generator = Random.createWithSeeds('abc') 
> generator.id() 
'WKrBPwCSbzNHmhacn' 
> generator.id() 
'h6iLWkdEfZ7wXWpPQ' 

おそらく編集createWithSeeds('abc')はあなたが.id()呼び出すオブジェクトを返すことになっていることを明確かもしれません 複数回。私は別のddpクライアントからシードを渡してみたことは一度もありませんでした。私がしたときにお知らせします。