小编Kar*_*akk的帖子

蓝鸟警告"承诺是在处理程序中创建的,但未从中返回"

我收到了关于不从Bluebird返回创建的承诺的警告,我不明白为什么以及如何重写我的代码.

(我曾尝试阅读Bluebird API页面和反模式页面上的警告,因为我怀疑这是我正在做的事情)

在我的view.js文件中:

var express = require('express'),
    router = express.Router(),
    settings = myReq('config/settings'),
    Sets = myReq('lib/Sets'),
    log = myReq('lib/utils').getLogger('View');

router.get('/:setId/', function(req, res, next) {
    var
        setId = req.params.setId,  
        user = req.user,
        set = new Sets(setId, user);

    log.info('Got a request for set: ' + setId);

    // The below line gives the warning mentioned
    set.getSet().then(function(output) {
        res.send(output);

    }).error(function(e){
        log.error(e.message, e.data);
        res.send('An error occurred while handling set:' + e.message);
    });

});

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

在我的Sets.js文件中,我有:

var
    Promise = …
Run Code Online (Sandbox Code Playgroud)

node.js express bluebird

16
推荐指数
2
解决办法
1万
查看次数

标签 统计

bluebird ×1

express ×1

node.js ×1