【发布时间】:2018-03-02 00:51:31
【问题描述】:
我有一个 Node.js 服务器不断接收 python 客户端的 POST 请求以调用后端服务。 Promise 用于 Node 服务器的 REST 路由器调用后端服务,然后将结果返回给客户端。
在 node.js 上:
router.post("/result/", jsonParser, function (req, res) {
callService(req.body)
.then(function(result) {
res.json({
result: result
});
}, function (error) {
res.status(400);
});
}
var callService = function(input) {
return new Promise((resolve,reject) => {
//do something;
resolve(result);
}
}
客户端按顺序发送请求消息(例如逐行读取文件)并将结果逐行保存到另一个文件中。
在client.py中:
for line in read_file:
time.sleep(0.5)
start_new_thread(request_to_server_and_write_to_file, (line))
但由于每条请求消息的复杂性,后端处理速度不同,返回给客户端的结果与发送的请求顺序不同。
我应该怎么做才能使这个结果与请求的顺序相同?
【问题讨论】: