js 获得了字符串但return 的值是"[object Promise]",怎么才能把字符串显示出来呢?
js 获得了字符串但return 的值是"[object Promise]"
const into = async (ids) => {
const numbersArray = ids.split('').map(Number)
const fetchData = async (number) => {
if (number) {
const data = await tubeApi.getAnyDevices({ id: number })
return data && data.deviceName ? data.deviceName : ''
}
return ''
}
const result = Promise.all(numbersArray.map(fetchData))
return (await result).filter(Boolean)
}
const intoText = async (ids) => {
if (ids) {
let getit = await into(ids)
console.log(getit.join(','))
return getit.join(',')
}
}
打印结果没问题
看了一些帖子写成现在这样还是一样结果,我承认我对propmise的理解稀碎。。。怎么才能把字符串显示出来呢
回复
1个回答

test
2024-08-11
intoText函数是async函数,他将返回一个promise,所以你不能直接将intoText的返回值赋值到某个变量上,应该在回调中进行赋值intoText().then(txt => xxx.xxx = txt)
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容