Javascript 将字符串转换为和数组,然后偶然将其传递给另一个函数
我发出了一个获取请求(我将文本转换为数组),我希望它们在另一个函数中意外地传递每个数组元素。Javascript 将字符串转换为和数组,然后偶然将其传递给另一个函数,javascript,arrays,string,Javascript,Arrays,String,我发出了一个获取请求(我将文本转换为数组),我希望它们在另一个函数中意外地传递每个数组元素。 这有一些异步问题,wait可以解决: async function randomSingleWord() { let data = await fetch('http://www.randomtext.me/api/'); let words = data.text_out.split(' '); return words[Math.floor(Math.random() * word
这有一些异步问题,
wait
可以解决:
async function randomSingleWord() {
let data = await fetch('http://www.randomtext.me/api/');
let words = data.text_out.split(' ');
return words[Math.floor(Math.random() * words.length)];
}
现在这是一个承诺,所以
然后
或等待
适用。现在是2020年,我们现在有等待
。这将有助于减少需要编写的代码量。这是在问“如何在JavaScript中无序排列数组?”还是“如何从JavaScript数组中选择随机元素?”是的,我在问这个问题。“如何在JavaScript中无序排列数组?”还是“如何从JavaScript数组中选择随机元素?”这回答了您的问题吗?由于fetch
是异步的,因此此返回数据
没有意义。也就是说,这个随机词函数总是返回未定义的。我认为首先您需要返回fetch
(在第一行return fetch(…
)的结果。然后调用者将得到一个承诺,它可以像randomSingleWord那样使用。然后((arrayOfWords)=>{})
这个函数可以用arrayOfWords
做任何它想做的事情。添加.json怎么样?这个数据是不是json?如果是,那么json.parse
可以解决它。
async function randomSingleWord() {
let data = await fetch('http://www.randomtext.me/api/');
let words = data.text_out.split(' ');
return words[Math.floor(Math.random() * words.length)];
}