当前位置:  开发笔记 > 编程语言 > 正文

chai-http写完了

如何解决《chai-http写完了》经验,为你挑选了1个好方法。

我有一个server-app从客户端接收音频流.我正在尝试使用chai/ 测试应用程序chai-http,但它给了我这个错误:

[错误:结束后写]

有什么问题?

码:

var chai = require('chai');
var chaiHttp = require('chai-http');
var server = require('../server-app');
var should = chai.should();
var fs = require('fs');

chai.use(chaiHttp);


describe('server', function() {
  it('should work..', function (done){
    var req = chai.request(server).post('/speech');
    fs.createReadStream('./test.wav').pipe(req);
    req.end(function (err,res){
        console.log(err);//outputs: [Error: write after end]
        done();
    });
  });
});

Quy.. 5

您在req.end流完成将数据推送到请求之前调用.

我会做以下事情:

var readstream = fs.createReadStream('./test.wav');
readstream.pipe(req);

readstream.on('close', someFunction);
readstream.on('end', someFunction);

并调用流req.end关闭结束事件.在发出这些事件之前,您正在调用req.end.



1> Quy..:

您在req.end流完成将数据推送到请求之前调用.

我会做以下事情:

var readstream = fs.createReadStream('./test.wav');
readstream.pipe(req);

readstream.on('close', someFunction);
readstream.on('end', someFunction);

并调用流req.end关闭结束事件.在发出这些事件之前,您正在调用req.end.

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有