解決在 NodeJS 環境中遇到 Redis 套件的 Callback 的問題 | Promise 封裝
前言
近期在想活動時想到之前有做個彈幕機器人,異想天開下想說在上面加個投票系統,不過為求方便想快速完成,因此想說用 Docker 啟動一個 Redis 來做個 PoC,因為當初為求前後端方便彈幕機器人就使用全 js 的方式撰寫,在很直觀找到最多星星的 Redis 套件 - node-redis,以下就分享我被 callback 雷到的經驗XD
標籤
近期在想活動時想到之前有做個彈幕機器人,異想天開下想說在上面加個投票系統,不過為求方便想快速完成,因此想說用 Docker 啟動一個 Redis 來做個 PoC,因為當初為求前後端方便彈幕機器人就使用全 js 的方式撰寫,在很直觀找到最多星星的 Redis 套件 - node-redis,以下就分享我被 callback 雷到的經驗XD
在寫 Javascript 時一定會看到有套件或是範例有使用到 callback function,在過往的 coding 過程中最擔心的問題就是遇到 Callback Hell(也就是俗稱的波動拳),最常見的範例為:
doSomething(function(result) {
doSomethingElse(result, function(newResult) {
doThirdThing(newResult, function(finalResult) {
console.log('Got the final result: ' + finalResult);
}, failureCallback);
}, failureCallback);
}, failureCallback);
Sample from MDN
為了降低波動拳的出現機率,因此就就誕生了 Promise 來幫忙處理 Hell world 的問題,至於如何處理就透過接下來就說明並介紹用法。