最新消息:

耗费时间: You can’t directly stringify the Map instance as it doesn’t have any properties,

Amazon niuge678 486浏览 0评论

问题

今天是国庆节后第一天,但是是周六,所以人不多。我在调试一个问题时,发现有一个map类型的值,使用console.log('101 ', JSON.stringify(dataCodesData ));打印出来总是{}。

由于我之前没有在javascript里,打印map的经验,不知道JSON.stringify()不可以直接打印map,调试了很久才发现问题,记录一下。

解决

1、最开始我发现JSON.stringify(dataCodesData)没有值,但是JSON.stringify(dataCodesData.get(identifier))却有值,我以为是dataCodesData包裹在Promise里,只有调用到时,才会触发(这是错误的,我还研究了半天Promise是如何工作的)。我尝试在print之前,先调用一下,发现没用。

2、我没有使用stringify,直接console.log,就发现了问题。

3、这个问题的根源还是js里的map里没有属性(没有fields,就没办法print出来),根据 github,可以转成array,再stringify就行:JSON.stringify(Array.from(map.entries())); 以后注意一下就行。

转载请注明:牛哥678 » 耗费时间: You can’t directly stringify the Map instance as it doesn’t have any properties,

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址