まあ、私はすでに約束を理解していると思っていましたが、これについて何かが欠けているようです...
var redisPromise = new Promise(function(resolve, reject) {
redisClient.on('error', reject);
redisClient.on('ready', resolve);
}).then(function() {
// THIS ISN'T CALLED - CORRECT
log.enabled && log('connected, version: %s', redisClient.server_info.redis_version);
return redisClient;
}).catch(function() {
// THIS GETS CALLED - CORRECT
log('failed connecting to database:', e.message);
});
redisPromise.then(function() {
log("This shouldn't be called when connection fails");
});
Redis への接続が失敗した場合、返された Promise が拒否されることが予想されます。しかし、なぜか満たされている。ここで何か不足していますか?
ブルーバードの実装を使用しています。そこに何らかのバグがある可能性がありますか?それはすべて非常によく文書化されており、理にかなっているように思えます...紙の上では。
解決済み