使用bluebird与未定义的成功回调函数

时间:2016-02-01 19:05:43

标签: javascript node.js promise memcached bluebird

我在bluebird上使用memcached库。

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);
        });

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

1 个答案:

答案 0 :(得分:4)

这里的主要问题是你没有向self.MyLabel提供超时参数,但它是memcached.setAsync的强制参数。这两行是等价的:

memcached.set

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