Nodejs / Javascriptcallback使用 – 等待API调用

我一直在寻找和阅读一段时间,似乎无法理解如何实现以下只有callback。 我知道这应该是“简单”,不希望使用承诺或任何其他库来解决它,因为我想了解如何才能实现这个callback。

我正在使用Node.js编写一个Web表单,如果没有提供JIRA事件编号,它将创build票据,然后发送电子邮件通知号码。

我有什么是…伪代码:

function jiraCreate(req, res) { if req.body.inc is blank { var jiraInc = jiraAPI call to create ticket; } else { jiraInc = req.body.inc; } return jiraInc; } function jiraComment(req, res, jiraInc) { jiraCommentAPI(jiraInc) // jiraAPI call to add comments to the provided jiraInc } function handleJira(req, res) { var jiraInc = jiraCreate(req, res); jiraComment(req, res, jiraInc); } handleJira(req, res); 

当然,如上所述,如果req.body.inc是空白的,jiraComment将会执行并声明事件不存在。 我将如何使用callback重写它来实现我的目标? 可能吗?

我已经读了很多callback,似乎无法得到它。 不pipe我怎么写我的代码,jiraComment似乎总是先运行。 我非常感谢所提供的帮助!

谢谢!

“jiraAPI调用创build票”是asynchronous的…即,当你打电话的代码是沿线的东西

 http.request(options, function(res) { console.log('STATUS: ' + res.statusCode); console.log('HEADERS: ' + JSON.stringify(res.headers)); var body = ""; res.setEncoding('utf8'); res.on('data', function(chunk) { body += chunk; }); res.on('end', function() { // {1} Here you can continue with next step }); }).end(); 

您应该在{1}放置下一步的代码。 把它作为您在做出请求之后立即完成,将不起作用。