我有一些JSON数据如下:
{
version: 1,
partitions: {
'0': [ 1616133379 ],
'1': [ 1616133378 ],
'2': [ 1616133380 ]
}
}
Run Code Online (Sandbox Code Playgroud)
我使用async.each循环遍历数据,如下所示:
async.each(topicData.partitions, function(data, callback){
console.log('/brokers/topics/' + topic + '/partitions/' + data + '/state');
callback();
},
function(err){
if(err) {
console.log(err);
callback(err);
}
});
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
'/ brokers/topics/testing/partitions/1616133379/state''/ brokers/topics/testing/partitions/1616133378/state''/ brokers/topics/testing/partitions/1616133380/state'
正如您所看到的,data通过async.each函数传递的项目保持键/值对的值,而我实际上希望它传递键以产生此输出:
'/ brokers/topics/testing/partitions/0/state''/ brokers/topics/testing/partitions/1/state''/ broker/topics/testing/partitions/2/state'
无论如何我可以获得传递的密钥而不是价值吗?
这必须异步运行.
谢谢
我试图在NodeJS中了解async/await.
我在文件中有一个函数如下:
const getAccessToken = async () => {
return new Promise((resolve, reject) => {
const oauthOptions = {
method: 'POST',
url: oauthUrl,
headers: {
'Authorization': 'Basic ' + oauthToken
},
form: {
grant_type: 'client_credentials'
}
};
request(oauthOptions)
.then((err, httpResponse, body) => {
if (err) {
return reject('ERROR : ' + err);
}
return resolve(body.access_token);
})
.catch((e) => {
reject('getAccessToken ERROR : ' + e);
});
});
};
module.exports = getAccessToken;
Run Code Online (Sandbox Code Playgroud)
此文件保存twitter.js在lib文件夹中
在我的index.js文件中,我有以下内容:
const …Run Code Online (Sandbox Code Playgroud)