Javascript 当我从fetch函数发送数据时,为什么函数返回false?

Javascript 当我从fetch函数发送数据时,为什么函数返回false?,javascript,Javascript,我有这个功能 const haveChildren = (galactic, planet) => { galactic.forEach( orbit => { const p = planet[1] const o = orbit[0] console.log( orbit[0]===p, orbit, planet, orbit[0], p) }) } 然后我在FetchAPI中使用它,从txt文件中获取数据 fetch('./data.txt'

我有这个功能

const haveChildren = (galactic, planet) => {
  galactic.forEach( orbit => {
    const p = planet[1]
    const o = orbit[0]
    console.log( orbit[0]===p, orbit, planet, orbit[0], p)
  })
}
然后我在FetchAPI中使用它,从txt文件中获取数据

fetch('./data.txt')
  .then(response => response.text())
  .then(text => {
    console.log(text)
    text = text.split('\n').map(orbit => orbit.split(')'))
    console.log(text)

    text.forEach( (element, index, array) => {
      haveChildren(array, element)
    })
  } )
这就是我在结果中得到的:
false['K','L']['J','K']“K”“K”

但是我希望得到
真的
。有什么想法吗

顺便说一句,如果我以其他方式测试它,它的工作很好

即使在承诺中:

data.txt:

COM)B
B)C
C)D
D)E
E)F
B)G
G)H
D)I
E)J
J)K
K)L

您的文件是否使用Windows行结尾(“\r\n”而不是“\n”)

您将按
“\n”
进行拆分,因此在每行末尾保留
“\r”
,因此您的比较将是
“K”==“K\r”
,即
false

试试像这样的东西

const p = planet[1].trim();
const o = orbit[0].trim();
在你的比较中

console.log( orbit[0].trim()===p, orbit, planet, orbit[0].tirm(), p); //You can also use o instead of orbit[0] here

如果我理解你的问题,
'a'!='a'
谢谢,我自己永远也找不到!console.log不显示它只是看起来像单个letter@Heju很高兴我能提供帮助:)您可以使用
JSON.stringify(p)
p.length
检查其中是否有“隐藏”的内容