mbilab/ptt-bot

Create New version for async style.

Closed this issue · 0 comments

master目前的架構為先新增所有開發者下的指令到指令集, 在後端再慢慢消化指令.
缺點為目前的方式可能無法有以下寫法:

myBot.toArticle('30009',function(){
    console.log("執行toArticle的callback");
});
if(comment > 50){
    myBot.fetchArticle(function(){
       console.log(myBot.getArticle());
       console.log("執行fetchArticle的callback");
    });
}
else{
       //do nothing
}
myBot.toArticle('30010',function(){
    console.log("執行toArticle的callback");
});

即在開法者的指令上無法有分支.

考慮新增一隻branch, 利用async套件(https://github.com/caolan/async) 嘗試看看新架構.
大致想法為,
第二個指令放入第一個指令的callback,
第三個指令放入第二個指令的callback,
第四個指令放入第三個指令的callback....一直接下去

開發者端的程式寫起來會較醜, 但可用async套件美化.