私は最後の数日間の約束事をしていて、いくつかのプロジェクトを変えようと約束していますが、何回かこの問題を抱えています。
記事やチュートリアル、すべてがスムーズできれいに見える読みながら:しかし、現実には、そのないような約束のあるマルチウェイフローの正しいパターン
getDataFromDB()
.then(makeCalculatons)
.then(getDataFromDB)
.then(serveToClient)
を。
プログラムは、全体の流れを変える「if条件」をたくさんしている:私は自分自身がthen
コールバックにif
条件の多くを追加する見つける
- :
getDataFromCache(data).then(function(result){ if(result){ return result; }else{ return getDataFromDB(); } }).then(function(result){ if(result){ serveToClient() //this does not return a promise, so undefined returned... }else{ return getDataFromWebService(); //this does return a promise, } }).then(function(result){ //i dont want to reach here if i already serveToClient()... //so i basically have to check "if(result)" for all next thens if(result){ //do more stuff } }).then(...
は、私は2つの主要な問題を抱えています。
- 私はまだ私は正しいパターンを以下のアム私はすでに
(serveToClient
)を終了した場合でも、次のthen
コールバックに入るのですか?
ノード7で使用できるようになったら、async/awaitを試してください – Endless