【发布时间】:2014-03-16 21:47:22
【问题描述】:
我目前正在尝试为 MediaWiki 扩展制作 node.js 包装器,并且我需要能够登录。到目前为止,一切似乎都在工作,但我无法让脚本停止并等待请求完成在返回之前。这是至关重要的,因为请求必须在返回之前完成,才能返回正确的值而不是未定义的。我正在使用 node.js 的请求模块。当前的 HTTP POST 处理程序如下
var post = function(data) {
var r;
var options = {};
options.url = module.exports.apipath;
options.method = "POST";
options.form = data;
request(options, function(error, response, body) {
if (!error) {
if(response.statusCode == 200) {
try {
if((typeof body) == "string") {
var result = JSON.parse(body);
r = result;
} else {
r = body;
}
} catch (e) {
return;
}
}
} else {
console.log("Error: " + error);
}
});
return r;
};
【问题讨论】:
标签: javascript node.js httprequest mediawiki