【问题标题】:How to return string value?如何返回字符串值?
【发布时间】:2021-09-13 06:46:55
【问题描述】:

我写了这段代码

const link = "CKV0nSlxV8M"


const rendertest = async (link) => {
    const format = await ytdl(link, { quality: '22'})
    let test = JSON.stringify(format[0].url) 
        alert(test)  //string type
    return test
  
}

let finalValue = rendertest(link)
    
    
console.log(finalValue)

我从test(字符串)得到这个值

但考试值不是String(对象)

我不知道我写错了哪一部分。我想要相同的testfinalValue 的输出

【问题讨论】:

  • rendertest 是一个async 函数,你不会在这里等待它:let finalValue = rendertest(link) 所以记录的finalValue "[object Object]" 是Promise
  • 感谢您告诉我确切的原因! @DrewReese

标签: reactjs react-native ytdl


【解决方案1】:

当您将函数定义为async 时,它会在后台返回一个承诺。因此,您必须等待承诺兑现。试试这个:

const link = "CKV0nSlxV8M"


const rendertest = async (link) => {
    const format = await ytdl(link, { quality: '22'});
    const test = JSON.stringify(format[0].url);

    return test
}

rendertest(link).then(finalValue => {
  console.log(finalValue)
}

【讨论】:

  • 我试过这段代码但给了我 [',' expected] 错误我一直在搜索 then() 这似乎是我需要像 promise() 一样使用的东西 感谢您的帮助!
  • 什么意思?此代码有效。无论如何,欢迎您:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-15
  • 1970-01-01
相关资源
最近更新 更多