出題:多邏輯容錯機制的實現~ - CNode技术社区

出題:多邏輯容錯機制的實現~
发布于 11 年前 作者 iwillwen 4305 次浏览 最后一次编辑是 9 年前 来自 问答

需求:一個邏輯流程存在A, B, C三個異步操作,其中C依賴B的結果,流程結果至少要C完成,而A無依賴,也不影響流程結果,但若能完成,必須在流程內。

好啦,要求Node.js實現,無要求ES5或ES6。

6 回复

需要有足夠的可擴展性,因為實際的開發中,複雜的多邏輯操作可沒有這麼簡單。 自豪地采用 CNodeJS ionic

然后问神丢出一个其写的流程控制库。

使用sas解:

var sas = require('sas');
sas([{
 key1: a,
 key2: [b, c]
}, end]);
function procedure(cb) {
 var results = [];
 processA();
 function done() {
 cb(results);
 }
 function processA() {
 //do something here,put result into results
 async(function(err,rep){
 results[0] = err ? err : rep;
 processB(results,processC);
 });
 }
 function processB() {
 //do something here,err return
 async(function(err,rep) {
 if(err) {
 results[2] = err;
 return cb(results);
 } else {
 results[2] = rep;
 processC(results);
 }
 }
 }
 function processC() {
 //do something here,err return
 async(function (err,rep){
 if(err) {
 results[3] = err;
 return cb(results);
 } else {
 results[3] = rep;
 done(results);
 }
 });
 }
}
procedure(function(results) {
 //deal with results
});

求指点

回到顶部

AltStyle によって変換されたページ (->オリジナル) /