在'然后'中解决承诺是不好的做法。另一个承诺链?

时间:2016-06-04 16:14:06

标签: javascript promise bluebird

在'然后'解决承诺是不好的做法。另一个承诺链?

示例:

function getConnection() {
    return new Promise(function(resolve, reject) {
        connect(function(err, conn) {
            if (err) {
                reject(err);
                return;
            }
            resolve(conn);
        });
    });
}

function query(sql) {
    return new Promise(function(resolve, reject) {
        getConnection()
            .then(function(conn) {
                conn.query(sql, function (err, results){
                    resolve(results)
                });
            })
            .catch(function(err) {
                reject(err)
            })
    });
}

这个想法是'查询'应用程序中经常使用Promise。因此,而不是键入承诺链步骤连接然后其他东西然后查询。我有一个快速的承诺,我需要的时候就会投入使用。

请记住,此示例更简单,因此会有一些抽象的链步骤。

所以我的问题是我是否陷入了一些Promise反模式?我环顾四周,没有看到我的确切例子。有任何性能问题吗?是否存在吞噬我的错误或我的承诺永远不会实现的情况?或者我只是过度思考问题并创建一个复杂的解决方案?

此致

0 个答案:

没有答案