我正在尝试使用 node-rest-client Node.js 中的 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;
};
最佳答案
该模块内部使用 Node.js 的 native HTTP 方法,因此它们不是同步的。您无法将异步函数变成同步函数,因此您需要使用回调:
var postRequest = function(url, args, callback) {
var client = new Client();
var responseData = {};
client.post(url, args, function(data, response) {
responseData = data;
callback(responseData);
});
};
然后你可以像这样调用该函数:
postRequest(url, args, function(response) {
// response
});
关于javascript - Node.js:REST 客户端在返回之前返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20535689/