使用蓝鸟与未定义的成功callback函数

我在memcached上使用蓝鸟库。

memcached.set('foo', 'bar', 10, function (err) { /* stuff */ }); 

这个函数不会在第二个参数中调用成功callback,所以看起来像。然后(res)函数不会被调用。

  Promise.promisifyAll(memcached); memcached.setAsync(hashedCacheKey, obj).then(function (res) { resolve(res); }).catch(function (err) { reject(err, null); }); 

有没有办法处理未成功的事件?

这里主要的问题是你没有提供memcached.setAsync超时参数,但它是memcached.set的强制性参数。 这两行是相同的:

 memcached.set("foo", "bar", () => { /* this is never called */ }); memcached.setAsync("foo", "bar").then(() => { /* this is never called, either */ }) 

添加超时参数,您的代码应按预期工作。