Node.jsでは、コールバックを使用するのがベストプラクティスであるときに、クラスメソッドをどのように連鎖させますか?一緒にチェーン方法あなたが望んでいたような回数にあなたを許さコールバックを持つチェーンクラスメソッド?
class MyClass {
function get() {
// fetch some data from an API endpoint
return this;
}
function set(property, value) {
// Set the property to some value on the object
return this;
}
function save() {
// Save the data to database
return this;
}
}
$myObject = new MyClass();
$myObject->set('something','taco')->save();
この非常に一般的なオブジェクト指向のアプローチ:私のPHPの時代には
は、私は通常、このような何かをするだろう。
Node.jsを使用している場合でも、これと同様のチェーン接続が可能ですか?それともコールバック地獄で終わるのですか?すべての「チェーン」はネストされたコールバックですか?
または、私のスクリプトを約束で包むだけでいいですか?
new Promise(function(resolve, reject){
var myObject = new MyClass();
myObject.set('something','taco');
resolve(myObject);
}).then(function(myObject){
myObject.save();
});
あなたはそれをやるべきですか?これをもっと深く私のクラスに統合する方法はありますか?毎回約束する必要はありませんか?私はいくつかの図書館がhttps://github.com/sindresorhus/gotのような "promise-mode"のようなものを持っているのを見たことがありますが、コードを見ても、どうやって彼らがそれをしたのかまだ正確にはわかりません。
は、これはあなたが探しているものでしょうか? https://github.com/kriskowal/qとhttps://www.npmjs.com/package/q –
ノード4.xでPromiseライブラリを使用しないでください。 –
私は、各メソッドで新しいPromisesを返すだけで、 '.then'を使って連鎖させることができます。そうですか? –