小编Jon*_*ter的帖子

使用async.each获取对象密钥

我有一些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'

无论如何我可以获得传递的密钥而不是价值吗?

这必须异步运行.

谢谢

javascript asynchronous

7
推荐指数
1
解决办法
6525
查看次数

需要NodeJS中的异步功能

我试图在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.jslib文件夹中

在我的index.js文件中,我有以下内容:

const …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous node.js async-await

6
推荐指数
1
解决办法
5969
查看次数

标签 统计

asynchronous ×2

javascript ×2

async-await ×1

node.js ×1