gpt4 book ai didi

node.js - chai-http 结束后写入

转载 作者:搜寻专家 更新时间:2023-10-31 22:23:04 25 4
gpt4 key购买 nike

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

[Error: write after end]

有什么问题?

代码:

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();
});
});
});

最佳答案

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

我会做以下事情:

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

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

并在流的关闭结束 事件中调用req.end。您在发出这些事件中的任何一个之前调用 req.end。

关于node.js - chai-http 结束后写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34562260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com