在sails.js中返回异步响应

时间:2015-10-09 17:03:00

标签: javascript node.js asynchronous sails.js

我的应用需要在一些数据库查询后返回JSON响应。

伪代码(使用async):

async.forEachOf(sails.config.site.regions, function (regionData, slug) {
        obj['regions'][slug] = {
            'slug': slug,
            'name': regionData.name,
        };
    }, function (err) {
        if (err) {
            res.json({
                'error': true,
                'message': 'Error when retrieving data from the DB'
            });
        }
        else {
            res.json(obj);
            return;
        }
    });

Sails挂起,因为似乎没有从服务返回任何响应。

我尝试将此转换为Promise(请参阅this answer),但它也无效。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

你试过吗

async.forEachOf(sails.config.site.regions, function (regionData, slug) {
        obj['regions'][slug] = {
            'slug': slug,
            'name': regionData.name,
        };
    }, function (err) {
        if (err) {
            return res.json({
                'error': true,
                'message': 'Error when retrieving data from the DB'
            });
        }
        else {
            return res.json(obj);

        }
    });