小编Pau*_*gel的帖子

如何使用Express app中的promises?

我试图在app.get函数中使用一个promise,它将运行一个将在promise上运行的查询.但问题是响应不等待承诺而只是回应.

任何想法代码应该如何承诺可以在快递应用程序中的app.get内生活?

node.js promise express parse-platform

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

如何使用Socket.io在一个消息中发送两个变量?

我有一个clientid和用户名,我希望他们都发送套接字.

 client.userid = userid;
 client.username = username;
 client.emit('onconnected', { id: client.userid, name: client.username });
Run Code Online (Sandbox Code Playgroud)

我试过这个例子,但似乎没有用

javascript node.js express socket.io

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

如何在每个测试方法中强制运行静态块?

我发现当我执行多个JUnit测试时静态块只运行一次.如何强制它为每个测试方法运行?我正在使用最新的JUnit 4.8.2

另外,根据xUnit设计原则,每种方法都应该完全独立于其他方法.为什么静态块只执行一次?

@Test TestMethod1 () {
       Accounts ac = new Accounts();
       ac.method1(); //kill the thread inside
}

@Test TestMethod2 () {
       Accounts ac = new Accounts();
       ac.method2(); // the thread is no longer available!!
}

class Accounts {
   static {
       // initalize one thread to monitor something
   }
}
Run Code Online (Sandbox Code Playgroud)

TestMethod1TestMethod2位于不同的测试类中时,甚至会发生这种情况.

java junit unit-testing

9
推荐指数
1
解决办法
8455
查看次数

确定__getattr__是否为方法或属性调用

有没有办法使用__getattr__确定方法和属性调用之间的区别?

即:

class Bar(object):
    def __getattr__(self, name):
        if THIS_IS_A_METHOD_CALL:
            # Handle method call
            def method(**kwargs):
                return 'foo'
            return method
        else:
            # Handle attribute call
            return 'bar'

foo=Bar()
print(foo.test_method()) # foo
print(foo.test_attribute) # bar
Run Code Online (Sandbox Code Playgroud)

这些方法不是本地的,因此无法使用getattr/callable来确定它.我也理解方法是属性,并且可能没有解决方案.只是希望有一个.

python getattr

8
推荐指数
1
解决办法
1449
查看次数

for loop与foreach

我仍然很擅长编程,而且我很难希望for/foreach之间有所不同.在一个更技术性的感叹号中,for each循环计算它需要多少次 - 与下面的代码不同.

假设我是这样的for循环的样本:

var i = result = 0;
for (var i = 2; i < process.argv.length; i++) {
    result = result + Number(process.argv[i]);
}

console.log(result);
Run Code Online (Sandbox Code Playgroud)

如果这是一个foreach声明,这个代码将如何改变?解释是对的吗?或者还有更多吗?

先感谢您.

foreach for-loop node.js

7
推荐指数
1
解决办法
6634
查看次数

Node.JS async.parallel不会等到所有任务都完成

我使用aync.parallel并行运行两个函数.这些函数请求RSS提要.然后解析RSS提要并将其添加到我的网页.

但由于某种原因async.parallel运行回调方法而不等到两个函数完成

文件说:

任务完成后,结果将作为数组传递给最终回调.

我的代码.

require('async').parallel([ function(callback) {
        fetchRss(res, bbcOpts); // Needs time to request and parse
        callback();
    }, function(callback) {
        // Very fast.
        callback();
    } ], function done(err, results) {
        if (err) {
            throw err;
        }
        res.end("Done!");
    });
Run Code Online (Sandbox Code Playgroud)

事实上我只有"完成!" 在我的网页上.为什么?

我为什么需要打电话res.end()

Node.js的文件说:

必须在每个响应上调用方法response.end().

如果我不打电话,我的网页将被"下载"(我的意思是我的浏览器地址栏中的进度条).

javascript parallel-processing node.js progress-bar node-async

6
推荐指数
1
解决办法
3419
查看次数

npm install vs sudo npm install -g

对于一些我必须运行的包,sudo npm install -g而对于其他包npm install就足够了.

为什么和有什么区别?

例如:

npm install -g grunt-cli  # doesn't work
sudo npm install -g grunt-cli  # works
npm install websocket-stream # works
Run Code Online (Sandbox Code Playgroud)

sudo必要只与-g标志?

javascript sudo node.js npm

6
推荐指数
1
解决办法
5486
查看次数

Node.js二进制HTTP流

我需要从客户端(nodejs命令行)和服务器(表达nodejs)流式传输文件。

这是客户端:

var request = require('request');
var fs = require('fs');

// ...

  var readStream = fs.createReadStream(file.path);
  readStream.on('end', function() {
    that.emit('finished');
  });
  readStream.pipe(request.post(target));

// ...
Run Code Online (Sandbox Code Playgroud)

这是服务器端:

var fs = require('fs');
var path = require('path');

// ...

    app.post('/:filename', function(req, res) {
      req.setEncoding('binary');
      var filename = path.basename(req.params.filename);
      filename = path.resolve(destinationDir, filename);
      var dst = fs.createWriteStream(filename);
      req.pipe(dst);
      req.on('end', function() {
        res.send(200);
      });
    });

// ...
Run Code Online (Sandbox Code Playgroud)

一切正常,文件已正确保存在服务器端...但是它们比源文件大50%。我尝试查看两个文件之间的区别,hexdump并且服务器端文件的内容相似,但有时为0xC2。我想这与编码有关。

binaryfiles stream node.js express

5
推荐指数
1
解决办法
5286
查看次数

将两个32位整数转换为一个带符号的64位整数字符串

我有一个64位无符号整数,我需要在PostgreSQL中表示.我把它分解为两个32位无符号整数,high并且low.为了让Postgres的接受它,我需要转换high,并low以代表符号的64位整数的字符串.

如何将两个32位无符号整数转换为以十进制表示的有符号64位整数的字符串?

javascript postgresql node.js

5
推荐指数
1
解决办法
1869
查看次数

任何改变node-sass/libsass精度的方法

我目前正在使用grunt-sass和libsass的node-sass包装器.反正浮点数舍入时有没有改变精度?我知道它可以在ruby sass中更改,但无论如何都无法在libsass中更改它.

它目前舍入到5,但如果我需要给出一个重复数字的行高,即1.33333,我会在它转换为屏幕上的像素时出现微小的差异.将它舍入到7个位置可以解决这个问题.

如果有人设法改变这个,请告诉我.

提前致谢

sass node.js

5
推荐指数
1
解决办法
1068
查看次数

linux重启后,nodejs消失了

我刚用安装成功的nvm安装了nodejs版本0.10.14.在安装nodejs之前,我安装了zeromq 2.2.0版.

出于测试目的,我试图在下面运行一个基本的pub示例.

var zmq = require('zmq');
var socket = zmq.socket('pub');

console.log("Binding socket on port 8800...");

socket.bind('tcp://localhost:8800', function(err){
    if(err){
        console.log(err)
    } else{
        console.log("listening on port 8800");
    }
});
socket.send("hello this is testServer2 on port 8800...");
Run Code Online (Sandbox Code Playgroud)

但这是投掷错误 -

events.js:72
    throw er; // Unhandled 'error' event
          ^
TypeError: Socket is busy
    at Socket._ioevents (/home/zishan/node_modules/zmq/lib/index.js:198:22)
    at Socket._flush (/home/zishan/node_modules/zmq/lib/index.js:343:23)
    at Socket.send (/home/zishan/node_modules/zmq/lib/index.js:318:42)
    at Object.<anonymous> (/home/zishan/newsURLCollector/testServer2.js:16:8)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
Run Code Online (Sandbox Code Playgroud)

端口8800已经使用ufw打开了. …

zeromq node.js

5
推荐指数
2
解决办法
2147
查看次数

如何创建侧卷轴游戏?

我想创建一个用户可以转到屏幕最右边的游戏,如果他们再往前走,他们会滑入新视图.

所以基本上,如果他们有3个怪物在屏幕#1上追逐他们,并且他们一直向右走并继续前进,他们将进入屏幕#2,那里将有5个新的怪物和一个新的地形.

当游戏开始时,我应该立即为每个屏幕初始化所有NPC怪物和地形特征,还是应该在他们输入时初始化每个屏幕?什么是存储每个屏幕内容的最佳格式/方式?

java applet initialization

4
推荐指数
1
解决办法
2786
查看次数

来自两个源文件的grunt uglify

我使用以下方法生成两个连接文件:

concat: {
    header: {
        src: [
            // these will go in header
            'assets/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js',
            'assets/js/jquery-ui/jquery-ui.js',
            'assets/js/select2/select2.min.js',
            'assets/js/icheck/jquery.icheck.js',
            'assets/uploadify/js/jquery.fileupload.js'
        ],
        dest: 'assets/js/admin_header_common.js'
    },
    footer: {
        src: [
            'assets/js/vendor/bootstrap.min.js',
            'assets/js/bootstrap-lightbox.min.js',
            'assets/js/jqBootstrapValidation.js',
            'assets/js/tinymce/tinymce.min.js',
            'assets/js/common.js'
        ],
        dest: 'assets/js/admin_footer_common.js'
    }
},
Run Code Online (Sandbox Code Playgroud)

现在我想压缩这两个生成的连接文件,所以我这样做:

// minify js
uglify: {
    build: {
        header: {
            src: 'assets/js/admin_header_common.js',
            dest: 'assets/js/admin_header_common.min.js'
        },
        top: {
            src: 'assets/js/admin_footer_common.js',
            dest: 'assets/js/admin_footer_common.min.js'
        }
    }
},
Run Code Online (Sandbox Code Playgroud)

但问题是生成的文件没有被压缩.以上uglify声明是好还是我遗失了什么?我只需要压缩两个文件并生成两个单独的目标文件.

非常感谢您的帮助

javascript node.js gruntjs

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