当我使用componentDidmount将从youtube-dl获取的地址插入到React-native-Video中的源区域时,出现错误。
但是,如果我手动将从 youtube-dl 获得的地址放入一个变量并将其插入到源中,它会再次起作用。
componentDidMount(){
const {route, navigation} = this.props;
const {gameVid} = route.params;
if (gameVid != null) {
console.log('Didmount')
return new Promise((resolve, reject) => {
const rendertest = async (gameVid) => {
const format = await ytdl(gameVid, { quality: 'lowestvideo'},(err, info) => {
if(err){
reject(err);
console.log("promise error")
return;
}
});
let test = JSON.stringify(format[0].url);
return test
}
rendertest(gameVid).then(finalValue => {
console.log(typeof(finalValue)+": "+finalValue)
//this.state.testvalue = finalValue;
this.setState({
testvalue: finalValue,
done: true
});
})
//resolve(this.state.testvalue)
})
}else{
console.log("notmount")
}
}
从 youtube-dl 获得的值
当我用控制台检查“testvalue”值时,我正常得到它。
即使我将链接粘贴到 Chrome 中,它也可以正常工作,但为什么它不能从 react-native 正常工作?