expressjs 承诺和 sunc 错误处理

expressjs promise & sunc error handling

如何处理同一代码中的同步错误和承诺错误? 这是我的代码,但我不确定它是否正常工作,有什么想法吗?

helpers.list({
            limit: 1
        })
        .then(function(results) {
          // handle no results
          if (results.length < 1) {
            return next();
          }
            res.render('post/post');
        })
         .fail(function(error){
           next(error);
        })

同步错误和承诺不混合

我找到的最佳解决方案是抛出被拒绝的承诺,这样 fail() 就会在最后捕获它

helpers.list({
            limit: 1
        })
        .then(function(results) {
          // handle no results
          if (results.length < 1) {
           // call next will go to next route , ie 404
           next();
            return Parse.Promise.reject('no results found')
          }
            res.render('post/post');
        })
         .fail(function(error){

           // call next(error); will invoke express error handler
        })