在Meteor編碼時,我發現自己在多個方法調用中互相嵌套 - 第一個方法觸發,然後在回調中,第二個觸發是依賴的對第一個人的結果等等。有沒有更好的模式使用多個方法沒有內嵌回調方法調用?代碼很快變得混亂。多種方法的流星模式調用順序回調
Meteor.call('unsetProduct', product._id, omitObj, function(err, result) {
if(!err) {
Meteor.call('editProduct', product._id, object, function(err, result) {
if(!err) {
//if no error, then continue to update the product template
Meteor.call('editProductTemplate', self._id, obj, function(err, result) {
if(!err) {
//call some other method
}
else {
FormMessages.throw(err.reason, 'danger');
}
});
}
else {
FormMessages.throw(err.reason, 'danger');
}
});//end edit product
}
else {
AppMessages.throw(err.reason, 'danger');
}
});`
是否有一個原因,你不想把所有這一切都放在單一的服務器方法?如果可能的話,這是處理這些事情的最簡單方法。 – danSiebes
使用一種能夠發出相關錯誤的方法似乎更好。如果你想要一個更好的異步流程設計模式,你可以使用未來/承諾。 – MasterAM