我在NodeJs中使用http.request调用API。
该调用旨在在外部服务上创建新项目。为此,需要提供label
参数。如果成功,则返回状态代码200和JSON格式的新创建的项目。如果该项目已存在,则返回404.获取该项目需要调用其他方法。
以下是我实施它的方法:
function logError(err) {
console.log(err)
}
function doSomething(chunk) {
console.log(chunk)
}
if (var == true) {
var domain = 'domain',
port = 80,
pathNew = '/api/v2/new?label=' + label + '&api_key=' + process.env.API_KEY,
pathGet = '/api/v2/get?label=' + label + '&api_key=' + process.env.API_KEY,
method = 'GET';
http.request({
host: domain,
port: port,
path: pathNew,
method: method
}, function(res) {
res.setEncoding('utf8');
if( res.statusCode == '404') {
http.request({
host: domain,
port: port,
path: pathGet,
method: method
}, function(res2) {
res2.setEncoding('utf8');
res2.on('data', doSomething);
}).on('error', logError).end();
}
res.on('data', doSomething);
}).on('error', logError).end();
我意识到这可能不是最佳方式。我怎样才能以更简化的方式做到这一点?