我有一个对象;
{ '6': { stream: { twitch: [Object] } },
'7': { stream: { twitch: [Object] } },
'8': { stream: { twitch: [Object] } },
'9': { stream: { twitch: [Object] } },
'10': { stream: { twitch: [Object] } },
'11': { stream: { twitch: [Object] } } }
Run Code Online (Sandbox Code Playgroud)
我想迭代它;
return Promise.map(myObj, function(minute, minuteIndex) {
Run Code Online (Sandbox Code Playgroud)
所以基本上 minute 应该保存数据,而 minuteIndex 应该保存索引。
我可以用 lodash 做到这一点,但 bluebird 不能以某种方式。
_.forEach(hour.minutes, function(minute, minuteIndex) {
Run Code Online (Sandbox Code Playgroud)
我知道此代码以前可以使用,但现在无法使用。
有任何想法吗?
您可以将对象的键映射到数组中并将其提供给Promise.map():
function process(stats) {
var statsArray = Object.keys(stats).map(key => ({
minute: key, minuteIndex: stats[key]
}));
return Promise.map(statsArray, item => {
// work with item.minute & item.minuteIndex
});
}
Run Code Online (Sandbox Code Playgroud)
用法:
var twitchStats = {
'6': { stream: { twitch: [Object] } },
'7': { stream: { twitch: [Object] } },
'8': { stream: { twitch: [Object] } },
'9': { stream: { twitch: [Object] } },
'10': { stream: { twitch: [Object] } },
'11': { stream: { twitch: [Object] } }
};
process(twitchStats).then(result => {
// ...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17826 次 |
| 最近记录: |