小编mat*_*nus的帖子

如何在node.js中捕获http客户端请求异常

我有一个node.js应用程序,我想用来检查特定站点是否已启动并返回正确的响应代码.我希望能够捕获由于域名未解析或请求超时而出现的任何错误.问题是这些错误导致Node丢失.我是这个完整的异步编程方法的新手,所以我不确定在哪里放置我的try/catch语句.

我有一个类似/ check/site1的ajax调用.服务器端调用尝试建立连接然后返回statusCode的函数.这是一个非常简单的功能,我将每一行包裹在try/catch中,它从不会捕获任何东西.这里是:

function checkSite(url){
    var site = http.createClient(80, url);
    var request = site.request('GET', '/', {'host': url});
    request.end();
    return request;
  }
Run Code Online (Sandbox Code Playgroud)

即使每个行都包含在try/catch中,我仍然会得到像EHOSTUNREACH这样的未捕获的异常等等.我希望能够捕获那些并将其返回到ajax调用.

有关下一步尝试的建议吗?

exception-handling node.js express

38
推荐指数
3
解决办法
7万
查看次数

Mongoose不会删除嵌入的文档

我在这里摸不着头脑,就像通常的节点项目一样,我不确定我做错了什么或者我是否遇到了一个bug.

我有一个Server模式,可以有任意数量的嵌入式文档称为服务.我遇到了一个问题虽然在哪里,即使我已经成功地从服务器对象中删除了单个服务,当我告诉它保存它时不会将其从数据库中删除.保存功能正在运行,因为它保存了我所做的任何更改,并且还推动了新的嵌入式文档,它只是没有删除已存在的那些.

这是我的代码的一个相对简化的示例:

app.put('/server/:id', function(req, res, next){
  app.Server.findOne({_id: req.params.id}, function(err, server) {
    server.updated = new Date();
    ...

    for (var num = _.size(req.body.server.services) - 1; num >= 0; num--){
      // Is this a new service or an existing one
      if (server.services[num]) {
        // Is it marked for deletion? If so, delete it
        if (req.body.server.services[num].delete == "true") {
          server.services[num].remove()
        } else { // else, update it
          server.services[num].type = req.body.server.services[num].type
          ...
        }
      } else {
        // It's new, add it
        delete req.body.server.services[num]["delete"]
        server.services.push(req.body.server.services[num]); …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js express

7
推荐指数
2
解决办法
2847
查看次数

Ember.js:如何集成测试与ember-data模型交互的组件

我正在构建一个相对直接的comment-list组件.我想传递可评论的模型(比如说a Post)并让组件负责创建,编辑和删除注释.现在我传递了各种各样的动作,而且非常脆弱.

如何在组件集成测试中创建Ember Data模型的真实实例?

我的直接想法是导入模型然后.create({})它,但错误use this.store.createRecord() instead

/* jshint expr:true */
import { assert } from 'chai';
import { describeComponent, it } from 'ember-mocha';
import hbs from 'htmlbars-inline-precompile';
import Post from 'ownersup-client/post/model';

describeComponent( 'comment-list', 'Integration: CommentListComponent', {
    integration: true
  },
  function() {
    it('renders all of the comments', function() {
      const model = Post.create({ title: 'title' });
      model.get('comments').createRecord({ body: 'One Comment' })

      this.render(hbs`{{comment-list model=model}}`);

      assert.lengthOf(this.$('.comment-list-item'), 1);
    });
  }
);
Run Code Online (Sandbox Code Playgroud)

有人有什么想法?

ember.js ember-data ember-cli

7
推荐指数
3
解决办法
1906
查看次数

Android Eclipse错误:"Gson无法解析为某种类型"

我对Java,eclipse和android都比较陌生,所以这可能是一个完全愚蠢的问题,但我会问它.

我有一个项目,我正在学习测试连接到flickr api并只显示最近的图像.我现在正处于解析从flickr收到的JSON的位置.我已经下载了gson 1.4,并通过"添加外部jar"将zip添加到java构建路径中.它已成功加载,我可以在包浏览器中的引用库下看到google-gson.我的问题是,当我尝试使用它时,我只是得到一个错误.

Gson gson = new Gson();

它突出了Gson,并说"Gson无法解析为一种类型." 我在这里错过了什么?它曾经工作过一次,之后便停止了.我已经尝试删除罐子,清理项目并重新添加罐子,但它仍然无法正常工作.

我只是完全没有这个或者还有其他问题吗?

java eclipse android json

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