memcached.set('foo', 'bar', 10, function (err) { /* stuff */ });
这个函数不会在第二个参数中调用成功回调,所以好像.then(res)函数没有被调用。
Promise.promisifyAll(memcached);
memcached.setAsync(hashedCacheKey, obj).then(function (res) {
resolve(res);
}).catch(function (err) {
reject(err, null);
});
我有办法处理未成功的成功事件吗?
答案 0 :(得分:4)
这里的主要问题是你没有向self.MyLabel
提供超时参数,但它是memcached.setAsync
的强制参数。这两行是等价的:
memcached.set
添加超时参数,您的代码应按预期工作。