首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在nodejs中推广我的班级

如何在nodejs中推广我的班级
EN

Stack Overflow用户
提问于 2015-06-30 06:16:25
回答 1查看 913关注 0票数 0

我正在使用蓝鸟在我的自定义库中实现promisify。我有一本书

用户,lib-1,lib-2等

在用户注册时,从我的用户路由器

代码语言:javascript
复制
// user_router.js
var user = new User();
var lib1 = new Lib1();
var lib2 = new Lib2();
// I am expecting, all method will be async by following 3 lines!
Promise.promisifyAll(user);
Promise.promisifyAll(lib1);
Promise.promisifyAll(lib2);
user.validationAsync(payload)
    .then(function(result_from_validation) {
              return lib1.validationAsync(payload);
          })
    .then(function(result_lib1_validation)) {
             return lib2.validationAsync(payload)
          })
    .then(function(result_lib2_validation)) {
             // final save 
             user.registerAsync(payload);
             lib1.saveAsync(payload);
             lib2.saveAsync(payload);
            return {'response-data'}
          })
    .then(function(response)) {
             // send response  
             res.json('success', 'User successfully created', {});
          })
    .catch(function(error)) {
             //all error will be handled here
             //these error will be either throw or by promise rejected.
             res.json('error', error.message, {error.stack});
          })

在验证方法中,我抛出的错误如下

代码语言:javascript
复制
//user_lib.js
// This throw will be handled by router catch. ???
throw Error('Field value is invalid');

在保存方法中,mongooes模式也有一些验证,比如用户已经存在,所以无法创建用户。

代码语言:javascript
复制
function register (payload)
{
  // payload data binded on user_modal here
  var user_modal = getUserModal(payload);
  user_modal.saveAsync()
            .then(function(){})
            .catch(function(error){
               //How to handle error here and send this error to router
             })
}

以上都只是我的期望。我想发送来自user_router.js的所有回复。(我的用户模块已经实现了。现在需要通过蓝知更鸟来集成它)

现在的问题::

  • 我怎么能用蓝知更鸟做这件事?如何对用户对象(显式)设置解析/拒绝方法?
  • 如果验证方法抛出错误,那么它将被路由器捕获方法?
  • 如何将任何错误/拒绝发送到来自mongooes的路由器捕获(请参阅用户注册方法)? 我希望你能明白我的观点。提前谢谢!! 您还可以共享实现这些功能的任何示例链接。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-01 07:38:29

现在,我使用try进行正常语句,并使用error进行异步错误处理!!:)非常感谢guyz

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31130927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档