php中文网

JavaScript中如何正确处理Promise对象返回的字符串?

php中文网

如何处理 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() 回调。

以上就是JavaScript中如何正确处理Promise对象返回的字符串?的详细内容,更多请关注php中文网其它相关文章!