TypeError:promise.then(...)。then(...)。then(...)。then(...)。catch不是Node Js中的函数

范德维迪

我收到此错误,我不知道如何解决。在节点js服务器中,我在promise上使用了某些.then()函数,最后我放置了由于某种原因而无法识别的.catch()函数。我在教程的许多地方都看到过这样处理错误的方式。我没有使用任何外部库。

错误 :

 TypeError: promise.then(...).then(...).then(...).then(...).catch is not a function

这是我的代码:

exports.joinAlbum = function(req, res){


var promise = Album.findOne().where({'shortId': req.body.shortId}).exec(); // Returns a promise


promise.then(function(albumDoc){
    console.log('Then #1');

    .....

    }
    return albumDoc.save();  // Returns a promise
})



.then(function(albumDoc){
    console.log('Then #2');

    .....

    return User.findById(req.body.userId).exec(); // Returns a promise
})


.then(function(userDoc){
    console.log('Then #3');

     ........

    return userDoc.save();  // Returns a promise
})

//  Return a response
.then(function(savedUserDoc){
    console.log('Then #4');
    return res.status(200).json({success: true}); 
})

    //Error handler
.catch(function(err){
    console.log('Catch #1');
    console.log(err);
    res.status(200).json({success: false});
});
}

如果.catch()不是处理承诺错误的正确方法,那么您有何建议?我试图避免使用外部库,而是倾向于使用本机javascript

编辑:解决方案

我添加了一个名为blue-bird的npm模块,可以帮助我解决这个问题。

dcochran

看起来您使用的是Mongoose,它返回了自己的Promise,而不是包含catch函数的ES6 Promise。猫鼬的承诺没有捕获功能。幸运的是,您可以覆盖Mongoose使用的默认Promise:

http://eddywashere.com/blog/switching-out-callbacks-with-promises-in-mongoose/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Angular1:TypeError:promise.catch 不是函数

来自分类Dev

typeerror undefined 不是 node js 中的函数

来自分类Dev

TypeError:回调不是Node.js中的函数

来自分类Dev

TypeError:undefined不是Node.js中的函数

来自分类Dev

TypeError:undefined不是Node.js中管道的函数

来自分类Dev

TypeError:对象不是Node JS / socket.io中的函数

来自分类Dev

TypeError:count 不是 node.js 和 sequelize 中的函数

来自分类Dev

Node.js:TypeError:对象不是函数

来自分类Dev

TypeError:对象不是Node.js函数

来自分类Dev

TypeError:undefined不是Node JS函数

来自分类Dev

TypeError:[函数名]不是函数,在mongoose和node.js中

来自分类Dev

如何在Node.js中访问导出的“嵌套”函数-TypeError:不是函数

来自分类Dev

TypeError:[函数名称]不是函数,在mongoose和node.js中

来自分类Dev

使用Express在node.js中要求jQuery-ui时出现“ TypeError:undefined不是函数”

来自分类Dev

Node.js未被捕获的TypeError:回调不是process.nextTick中的函数

来自分类Dev

Node.js,TypeError:xxx不是函数,在要求的文件中

来自分类Dev

Node.js未被捕获的TypeError:回调不是process.nextTick中的函数

来自分类Dev

Node.js异步并行“ TypeError:任务不是函数”

来自分类Dev

TypeError:不是Node和Express JS的构造函数

来自分类Dev

Node.js TypeError:未定义不是函数

来自分类Dev

Node.js中的Promise.all不调用then函数

来自分类Dev

TypeError:任务不是异步js parrallel中的函数

来自分类Dev

TypeError:$ http.get不是Angular JS中的函数

来自分类Dev

捕获TypeError:Object(...)不是Bootstrap的ThemeProvider.js中的函数

来自分类Dev

TypeError:stripe.redirectToCheckout不是nuxt.js中的函数

来自分类Dev

TypeError:未定义不是节点js中的函数

来自分类Dev

TypeError:$ http.get不是Angular JS中的函数

来自分类Dev

TypeError:server.views不是hapi.js中的函数

来自分类Dev

Node.js TypeError:不是构造函数-在单独的类方法中实例化一个类

Related 相关文章

  1. 1

    Angular1:TypeError:promise.catch 不是函数

  2. 2

    typeerror undefined 不是 node js 中的函数

  3. 3

    TypeError:回调不是Node.js中的函数

  4. 4

    TypeError:undefined不是Node.js中的函数

  5. 5

    TypeError:undefined不是Node.js中管道的函数

  6. 6

    TypeError:对象不是Node JS / socket.io中的函数

  7. 7

    TypeError:count 不是 node.js 和 sequelize 中的函数

  8. 8

    Node.js:TypeError:对象不是函数

  9. 9

    TypeError:对象不是Node.js函数

  10. 10

    TypeError:undefined不是Node JS函数

  11. 11

    TypeError:[函数名]不是函数,在mongoose和node.js中

  12. 12

    如何在Node.js中访问导出的“嵌套”函数-TypeError:不是函数

  13. 13

    TypeError:[函数名称]不是函数,在mongoose和node.js中

  14. 14

    使用Express在node.js中要求jQuery-ui时出现“ TypeError:undefined不是函数”

  15. 15

    Node.js未被捕获的TypeError:回调不是process.nextTick中的函数

  16. 16

    Node.js,TypeError:xxx不是函数,在要求的文件中

  17. 17

    Node.js未被捕获的TypeError:回调不是process.nextTick中的函数

  18. 18

    Node.js异步并行“ TypeError:任务不是函数”

  19. 19

    TypeError:不是Node和Express JS的构造函数

  20. 20

    Node.js TypeError:未定义不是函数

  21. 21

    Node.js中的Promise.all不调用then函数

  22. 22

    TypeError:任务不是异步js parrallel中的函数

  23. 23

    TypeError:$ http.get不是Angular JS中的函数

  24. 24

    捕获TypeError:Object(...)不是Bootstrap的ThemeProvider.js中的函数

  25. 25

    TypeError:stripe.redirectToCheckout不是nuxt.js中的函数

  26. 26

    TypeError:未定义不是节点js中的函数

  27. 27

    TypeError:$ http.get不是Angular JS中的函数

  28. 28

    TypeError:server.views不是hapi.js中的函数

  29. 29

    Node.js TypeError:不是构造函数-在单独的类方法中实例化一个类

热门标签

归档