我正在尝试在 node.js 文件和我使用 zeroRPC 成功实现的 Python 代码之间建立连接。当我尝试运行 node.js 文件时出现问题,在执行 node.js 文件的每一行之后,最后它执行建立 python 连接并调用 python 函数并检索值的“invoke”命令。对于例子:
Node.js 文件:
var global_variable = 0;
var json_object = "Some Json Object";
console.log("1");
NodeToPython(json_object); //Calling the function
function NodeToPython(json_object_local)
{
var send_json = json_object_local;
var zerorpc = require("zerorpc");
var client = new zerorpc.Client();
client.connect("tcp://localhost:4242");
console.log("2");
client.invoke("receive", send_json, function(error, res, more)
{
global_variable = JSON.parse(res); // 'res' stores retrieved value from Python code
console.log("3");
client.close();
}
console.log("4");
}
console.log("5");
蟒蛇文件:
import zerorpc, json
class XYZ(object):
def receive(self,response): // Called function
self.response=json.loads(response);
print("Py");
return json.dumps(self.response,encoding="utf-8",indent=2);
上述代码的输出如下: 1 2 4 5 Py 3
我希望输出是逐行顺序的,并且应该同时调用并从 Python 函数中获取值,如下所示:1 2 Py 3 4 5