我想要批量处理批量数据,如下面的代码所示。在这种情况下,单个批次只是一个包含值的数组。因此函数sendInBatches()需要一个数组数组作为输入。
asyncMethod(batch){
return new Promise((resolve) => {
setTimeout(
() => {
console.log('x');
resolve();
}
, 1000,
);
});
}
以下是asyncMethod()的代码。请注意,asyncMethod()实际上并没有对提供的参数执行任何操作。它只返回一个在1秒后解析的Promise。
sendInBatches([[1,2,3],[4,5,6],[7,8,9]]).then(console.log('done'));
我尝试运行这样的代码:
done
x
x
x
这提供了输出:
x
x
x
done
虽然我希望它返回:
group_by_at
我无法弄清楚这里出了什么问题,你们有什么想法吗?
答案 0 :(得分:1)
解决:
您将
console.log("done")
直接传递给.then
,而不是直接传递给.then(() => console.log("done"))
功能的一部分。所以它会立即评估它。相反,试试吧words = word_tokenize(message.replace('\n',' ')) word_list = ['amazon', 'b'] filtered_words = [x for x in words if x in word_list]
你应该得到你的结果 想。
请参阅CRice的comment