Ram*_*esh 0 javascript asynchronous http node.js
我试图在Node.js中使用node-rest-client REST客户端.
当我使用以下代码时,它会返回,null但控制台会在此之后打印响应.如何使用REST客户端进行同步调用?
var postRequest = function(url, args) {
var client = new Client();
var responseData = {};
client.post(url, args, function(data, response) {
responseData = data;
console.log(responseData);
});
return responseData;
};
Run Code Online (Sandbox Code Playgroud)
该模块内部使用Node.js的本机HTTP方法,因此它们不是同步的.您无法将异步功能转换为同步功能,因此您需要使用回调:
var postRequest = function(url, args, callback) {
var client = new Client();
var responseData = {};
client.post(url, args, function(data, response) {
responseData = data;
callback(responseData);
});
};
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样调用函数:
postRequest(url, args, function(response) {
// response
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2670 次 |
| 最近记录: |