进一步简化异步的“API”

时间:2014-04-11 07:18:17

标签: javascript asynchronous

所以,让我说我有这个代码:

function DBManager()
{
    this.getContactsList = function(cb)
    {
        $.post('/post/getContactsList', function (contacts) {
            cb(contacts);
        });
    }
}

然后这个:

var DBManager = new DBManager();

DBManager.getContactsList(function (contacts) {
    console.log(contacts);
});

我实际上在DBManager中有更多的函数,上面带回调的代码似乎是多余的,所以我想知道是否有更优化的方法来调用DBManager?

2 个答案:

答案 0 :(得分:2)

您可以在JavaScript中使用promises来完成回调提供的相同功能。如果您使用RSVP.js或类似的东西。

答案 1 :(得分:0)

function DBManager()
{
    this.getContactsList = function()
    {
        return $.post('/post/getContactsList');
    }
}

var DBManager = new DBManager();

DBManager.getContactsList().then(function (contacts) {
    console.log(contacts);
});