在javascript中异步stringify(序列化)到JSON

时间:2016-11-01 20:49:58

标签: javascript json parsing asynchronous serialization

在我的react-native应用程序中,我需要对大对象进行字符串化(序列化)而不是阻塞js线程 - 使用其他线程的异步api,如下所示:

JSON.stringifyAsync({ foo: "bar" }).then(x => console.log(x));

请不要建议将JSON.stringify包装到Promise中,它只是推迟阻塞js线程。

2 个答案:

答案 0 :(得分:6)

我认为目前无法做到这一点。对于node.js来说这是一个问题(请参阅hereherehere),我认为对于浏览器或其他JS来说情况更好发动机。

有一个EcmaScript提案(请参阅here)以添加函数JSON.parseAsyncJSON.stringifyAsync方法。我不知道这个提案的状态。根据提案:"没有办法透露这个提案的实际效果。" 所以看起来提议者同意目前还没有这样做的方法。

答案 1 :(得分:0)

也许你可以拆分对象并在最后合并处理过的部分。

或者做这样的事情:

async.eachOf(obj,function(value,key,callback){
  async.setImmediate(function(){

    // do something

  });
}, function(err,reply){

});