0
誰かがこの警告を受けている理由を説明してください。警告:約束はハンドラで作成されましたが、返信されませんでした次のコードを実行します。ioredis bluebirdハンドラで約束が作成されましたが、返されませんでした
ここcache['deviceSlave'].getBySystemId(systemId).then(function(slavesMapping) {
// do other stuff
}).catch(function(err) {
// throw error
});
は、コードの残りの部分である:私は次のライブラリを使用してい
var Promise = require('bluebird');
var _ = require('lodash');
var Redis = require('ioredis');
var config = require('/libs/config');
var redis = new Redis({
port: config.get('redis:port'),
host: config.get('redis:host'),
password: config.get('redis:key'),
db: 0
});
var self = this;
module.exports.getBySystemId = function(systemId) {
return new Promise(function(resolve, reject) {
var systemIds = [systemId];
self.getBySystemIds(systemIds).then(function(result) {
return resolve(_.values(result)[0]);
}).catch(function(err) {
return reject(err);
});
});
};
module.exports.getBySystemIds = function(systemIds) {
return new Promise(function(resolve, reject) {
var pipeline = redis.pipeline();
_.each(systemIds, function(systemId) {
var cacheKey = 'device_slaves:' + systemId.replace(/:/g, '');
// get through pipeline for fast retrieval
pipeline.get(cacheKey);
});
pipeline.exec(function(err, results) {
if (err) return reject(err);
else {
var mapping = {};
_.each(systemIds, function(systemId, index) {
var key = systemId;
var slaves = JSON.parse(results[index][1]);
mapping[key] = slaves;
});
return resolve(mapping);
}
});
});
};
:&青い鳥をioredis。 コードは正常に実行され、すべて正常に機能します。私は私が解決できない警告を得るという事実のように私はちょうどいけない!
それは音として、私は本当にこれが私の問題を解決するだろうと思ったどのように愚かな
約束をラップする必要はありません。 ..それはしません。 :(、他の提案はありますか? – MakanMakan