Javascript 为什么我不能将变量传递给另一个函数中的函数?JS-REACT-NATIVE
对于noob的问题,我很抱歉,但我真的不明白为什么我会出现这个错误,我正在构建一个音乐播放器,我在componentDidMount中运行的第一个函数是requestPermissions,下面是代码:Javascript 为什么我不能将变量传递给另一个函数中的函数?JS-REACT-NATIVE,javascript,react-native,Javascript,React Native,对于noob的问题,我很抱歉,但我真的不明白为什么我会出现这个错误,我正在构建一个音乐播放器,我在componentDidMount中运行的第一个函数是requestPermissions,下面是代码: try { let tracks = []; let tracks_object = []; tracks = await MusicFiles.getAll({
try {
let tracks = [];
let tracks_object = [];
tracks = await MusicFiles.getAll({
cover: true,
});
for (i = 0 ; i < tracks.results.length ; i++) {
tracks_object.push(new Tracks_info(tracks.results[i]));
}
this.setState({tracks: tracks_object}, () => this.init_player());
}catch(error) {
alert(error);
}
init_player = async () => {
try {
if (this.state.random) {
let random_tracks = this.random_queue(this.state.tracks);
console.log(random_tracks);
}else {
await TrackPlayer.setupPlayer();
await TrackPlayer.add(tracks);
TrackPlayer.play();
}
}catch(error) {
alert(error);
}
}
random_queue = (tracks) => {
let cambio = tracks.slice().sort(() => {return Math.random() - 0.5});
return cambio;
}
在我运行播放器之前,我确保随机音乐是否被激活,如果是,我将曲目传递到函数random queue,创建一个随机列表并返回,代码如下:
try {
let tracks = [];
let tracks_object = [];
tracks = await MusicFiles.getAll({
cover: true,
});
for (i = 0 ; i < tracks.results.length ; i++) {
tracks_object.push(new Tracks_info(tracks.results[i]));
}
this.setState({tracks: tracks_object}, () => this.init_player());
}catch(error) {
alert(error);
}
init_player = async () => {
try {
if (this.state.random) {
let random_tracks = this.random_queue(this.state.tracks);
console.log(random_tracks);
}else {
await TrackPlayer.setupPlayer();
await TrackPlayer.add(tracks);
TrackPlayer.play();
}
}catch(error) {
alert(error);
}
}
random_queue = (tracks) => {
let cambio = tracks.slice().sort(() => {return Math.random() - 0.5});
return cambio;
}
它“起作用”,因为即使抛出错误,它也会返回数组,但不知道原因,错误如下: