如何处理 JavaScript 中从字符串获取的 “[Object promise]” 结果
在 javascript 中,有时你会获得一个包含字符串的 promise 对象,但当你在控制台中显示它时,它显示为 “[object promise]”。这可能是因为你尝试直接返回 promise,而不是 its fulfilled value。
要解决这个问题,你可以更改代码以将字符串从 promise 中提取出来。一种方法是在 then() 回调中获取 fulfilled value:
const intotext = async (ids) => { if (ids) { let getit = await into(ids); getit.then(txt => console.log(txt.join(','))); } };
这样,控制台就会打印出字符串,而不是 “[object promise]”。请注意,你不需要在 intotext() 函数中返回 promise,因为它已经是一个 async 函数。
立即学习“Java免费学习笔记(深入)”;
另一种方法是使用 await 关键字:
const intoText = async (ids) => { if (ids) { const getit = await into(ids); console.log(getit.join(',')); } };
这种方法的好处是它可以在 intotext() 函数中直接返回字符串,而不需要额外的 then() 回调。