1

nodejsとnode-mysqlドライバーを使用しています。私は自分が次のような繰り返しボイラープレートをしていることに気づきます

client.query(querystr、queryparams、function callback(err、results、fields){

     if (err){ do err related stuff }
     else { do success related stuff }

}

結論としては、クエリとコンテキストによって大きく異なる成功時に何が起こるかを除いて、ほとんどの場合、すべてが単純で繰り返されます。したがって、これらすべてを1つの関数にカプセル化し、querystr、queryparams、およびsuccess関数を渡します。

問題:これはコールバック内にあるため、これを行うことができず、コールバック引数を介して渡しても、クエリエンジンに成功関数を使用させることができません。

だから私はコールバック内で「require」を実行できると考えています。そうであれば、「required」モジ​​ュールの関数はグローバルスコープまたはコールバックスコープに追加されますか?私は後者を望んでいますB

4

1 に答える 1

2

モジュールスコープに変数を割り当てることができます。これは、次のように「グローバル」の近似値です。

function a() { module.sys = require("sys"); }
function b(cb) { cb() };
b(a);
console.log(sys);
于 2011-06-15T12:09:20.017 に答える