小编Dej*_*eff的帖子

奇怪的寻找Javascript for循环

我从来没有见过像这样的JavaScript循环for( ; i-- ; ),在代码中使用:

uid: function (len) {
    var str = '';
    var src = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    var src_len = src.length;
    var i = len;

    for (; i--;) {
        str += src.charAt(this.ran_no(0, src_len - 1));
    }

    return str;
}
Run Code Online (Sandbox Code Playgroud)

我理解这种行为,但如果有人可以分享一些有关此类for循环的见解,我希望如此.

javascript loops for-loop

24
推荐指数
2
解决办法
1871
查看次数

这是恢复模拟功能的Jest方法

在Sinon的存根中,恢复功能非常容易.

const stub = sinon.stub(fs,"writeFile",()=>{})
...
fs.writeFile.restore()
Run Code Online (Sandbox Code Playgroud)

我期待与Jest做同样的事情.我得到的最近的是这个丑陋的代码:

const fsWriteFileHolder = fs.writeFile
fs.writeFile = jest.fn()
...
fs.writeFile = fsWriteFileHolder 
Run Code Online (Sandbox Code Playgroud)

javascript testing mocking jestjs

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

具有相同键的对象与打字稿中的另一个对象?

我有一个produce带有以下签名的方法:

interface ProduceConditions {
    [key: string]: Function|Promise<any>;
}

produce(conditions: ProduceConditions, input: any): Promise<object>|object;
Run Code Online (Sandbox Code Playgroud)

问题是返回的(已解析的)对象具有与对象相同的键conditions.


编辑:我应该添加对函数源的引用,该函数位于https://github.com/selfrefactor/rambdax/blob/master/modules/produce.js

typescript

4
推荐指数
2
解决办法
3027
查看次数

如何关闭 socket.io 连接

我无法弄清楚如何断开已建立的 socket.io 连接。这是简单的 socket.io 配置:

var app_rf = http.createServer(function(req, res) {});
var io = require('socket.io').listen(app_rf);
app_rf.listen(3001);
Run Code Online (Sandbox Code Playgroud)

我通过以下方式发送数据:

 io.sockets.emit('series_results', result_rf );
Run Code Online (Sandbox Code Playgroud)

并在浏览器中读取它:

 var socket = io.connect('//localhost:3001');
 socket.on('series_results', function(data) {
 $('.results_rf').append("<p class='output_rf'>Gender- "+data+"</p>");
 });
Run Code Online (Sandbox Code Playgroud)

我尝试在客户端上使用 io.disconnect('//localhost:3001') ,但不起作用。我的问题是,由于连接未关闭,消息被保留,而不是被销毁。如果我能销毁这些消息,那对我也有用。

sockets node.js

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

删除在Jest中记录原始线

Jest具有此功能来记录输出到console方法的行。

在某些情况下,这可能会令人讨厌:

  console.log _modules/log.js:37
  ? login.0 screenshot start

  console.time _modules/init.js:409
  login.0.screenshot: 0.33ms

  console.time _modules/init.js:394
  0 | login.0: 0.524ms

  console.log _modules/log.js:37
  ? login.1 screenshot start
Run Code Online (Sandbox Code Playgroud)

知道如何关闭它吗?

javascript logging node.js jestjs

2
推荐指数
4
解决办法
210
查看次数