在Node.js中,當最佳實踐使用回調函數時,如何將類方法鏈接在一起?帶回調的鏈類方法?
在我的PHP日子裏,我通常會做這樣的事情:
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();
這允許您鏈方法一起使用多次,你想很普通的面向對象方法。
在使用Node.js時,你還能以某種方式進行類似於此的鏈接嗎?或者你只是在回調地獄?每一個「鏈」是一個嵌套的回調?
或者我只需要將我的腳本包裝在Promises中?
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這樣的「承諾模式」,但是在查看代碼之後,我仍然不確定他們是如何做到的。
這是你在找什麼? https://github.com/kriskowal/q和https://www.npmjs.com/package/q –
那麼我不會在Node 4.x中使用Promise庫嗎? –
我想我可能只需要在每種方法中返回新的Promises,並允許我使用'.then'鏈接它們。是對的嗎? –