使用蓝鸟与未定义的成功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 */ })
添加超时参数,您的代码应按预期工作。