0

流星のドキュメントによると、ブロックを挿入します:

サーバーで、コールバックを提供しない場合は、データベースが書き込みを確認するまでブロックを挿入するか、問題が発生した場合は例外をスローします。コールバックを提供する場合でも、insertはIDをすぐに返します。

したがって、これは間違っているでしょう:

Meteor.methods({
  post: function (options) {
    return Stories.insert(options)
  }
});

私はこれを行う必要があります:

Meteor.methods({
  post: function (options) {
    return Stories.insert(options, function(){})
  }
});

誰かがこれが事実であることを確認できますか?前者は、dbが戻るまでサーバー全体をブロックしますか?

4

1 に答える 1

2

ええ、それはブロックしますが、サーバー全体ではありません。

Meteorでは、サーバーコードは、Nodeで一般的な非同期コールバックスタイルではなく、リクエストごとに1つのスレッドで実行されます。線形実行モデルは、Meteorアプリケーションの一般的なサーバーコードにより適していることがわかります。

したがって、通常のノードの場合と同様にサーバー全体がブロックされることが心配な場合は、そうしないでください。

于 2012-10-27T14:18:49.053 に答える