我有一些代码,JSON.stringify 是一个对象数组,如下所示:
const postsCommentsReadyForDB = postsComments.map(postComments => ({
id: getPostId(postComments),
comments: JSON.stringify(getComments(postComments)),
}))
但是,对于非常大量的数据(例如,包含 6000 多个对象的数组),由于所有 JSON.stringify 处理,可能需要 3 秒以上才能完成。
我并不担心执行此操作所需的时间,但我想避免阻塞事件循环或任何 I/O,所以我想我也许可以使用 setImmediate 来解决这个问题。
这是我使用 setImmediate 执行此操作的方法:
const postsCommentsReadyForDB = []
postsComments.forEach(postComments => {
setImmediate(_ => {
postsCommentsReadyForDB.push({
id: getPostId(postComments),
comments: JSON.stringify(getComments(postComments)),
})
})
})
但是,当我运行它时,它似乎不起作用,并且 postsCommentsReadyForDB 是空的。
在这种情况下可以使用 setImmediate 吗?