我完全清楚这可能包含在另一个主题中,但我是JavaScript和Node的新手,并不完全确定我在寻找什么。
我正在使用名为Domo的表示层并尝试访问其API以导出数据。访问其数据的一部分是建立要连接的令牌。
我已经成功地使调用和控制台记录了值,但是我无法将值推送到像Array这样的对象。我相信这是一个匿名函数,并一直在寻找一种方法来使用它。我的研究一直是闭包,回调,让,返回和立即调用的功能,但我在这里遗漏了一些东西。谁能指出我正确的方向?
**Here is the code:**
var http = require("https");
var tokenoptions = {
"method": "GET",
"hostname": "api.domo.com",
"port": null,
"path": "/oauth/token?grant_type=client_credentials&scope=data%20user",
"headers": {
"Accept":"application/json",
"Authorization": "Basic MyClientAndSecretGoesHere"
}
}
var req = http.request(tokenoptions, function (res) {
var chunks = [];
var token = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
**End Code**
Console.log(body.toString())是我想要的值但是如何将它分配给数组或对象?这是一个匿名函数吗?
如果这是一个重复的帖子,我真的很感激帮助并提前道歉。随着这个网站的年龄,我不知道任何新的帖子是不是。
答案 0 :(得分:0)
如果我理解正确,您会希望数据是在回调之外使用的Javascript对象。我读过Domo API文档,希望这对您有用:
var http = require("https");
var tokenoptions = {
"method": "GET",
"hostname": "api.domo.com",
"port": null,
"path": "/oauth/token?grant_type=client_credentials&scope=data%20user",
"headers": {
"Accept":"application/json",
"Authorization": "Basic MyClientAndSecretGoesHere"
}
}
var req = http.request(tokenoptions, function(res) {
var chunks = [];
var token = [];
res.on("data", function(chunk) {
chunks.push(chunk);
});
res.on("end", function() {
body = Buffer.concat(chunks);
nextAction(JSON.parse(body.toString()));
});
});
req.end();
function nextAction(obj) {
console.log(obj);
}