我无法将从API检索到的数据传回给传递给app.get

时间:2016-03-13 19:04:51

标签: javascript node.js asynchronous callback

我从github api中检索了数据。然后我想把它发送给客户。

我正在传递成功接收数据的回调,但是我不知道如何将检索到的数据传递回传递给get方法的回调,以便将其传递给客户

我担心这是一个非常天真的回调混乱,所以我非常感谢这个建议

let GitHubApi = require('github'),
    http = require('http'),
    express = require('express')

let app = express();
app.listen(3000)

let github = new GitHubApi({
  version: '3.0.0'
});

app.get('/', function(req, res){
  getUserData("jeresig", whatWeDoWithResults)
  res.send(???)
})

function getUserData (username, callback){
  github.search.users({q: username},function(err,data){
    if (err) {
      console.log('error', err);
    }
    else {
      callback(data)
    }
  })
}

function whatWeDoWithResults (results){
  console.log(results)
}

1 个答案:

答案 0 :(得分:0)

您必须将数据传递给回调,并且回调将发送它们:

app.get('/', function(req, res){
  getUserData("jeresig", function(results){
    res.send(results)
  })  
})