Javascript 需要使用带有两个函数的wait或promises的帮助吗
Hi创建了两个函数,一个用于从文件中读取单词,另一个用于将这些单词放入select组件。我认为问题在于,一个是异步执行的,但我不知道该把我的承诺或等待放在哪里 我读过关于这些概念的文章,但似乎没有一篇适用于我的示例,因此非常感谢您的帮助 我的第一个调用异步函数的函数Javascript 需要使用带有两个函数的wait或promises的帮助吗,javascript,html,asynchronous,Javascript,Html,Asynchronous,Hi创建了两个函数,一个用于从文件中读取单词,另一个用于将这些单词放入select组件。我认为问题在于,一个是异步执行的,但我不知道该把我的承诺或等待放在哪里 我读过关于这些概念的文章,但似乎没有一篇适用于我的示例,因此非常感谢您的帮助 我的第一个调用异步函数的函数 <script> function readinfiles() {
<script>
function readinfiles()
{
var options = "<option value ='0'>select</option>";
alert("hi");
var values= getTxt();
alert(values);
}
</script>
函数readinfiles()
{
var options=“选择”;
警报(“hi”);
var值=getText();
警报(数值);
}
获取信息的第二个函数
<script src="jquery.js"></script>
<script>
getTxt = function (){
$.ajax({
url:'fileslist.txt',
success: function (data){
return data.split('\n');
}
});
}
</script>
getText=函数(){
$.ajax({
url:'fileslist.txt',
成功:功能(数据){
返回数据。拆分('\n');
}
});
}
目前还没有定义值数组,如果您能帮助重新构造这些函数,我们将不胜感激。首先,我建议将这两个函数合并为一个函数,并在其前面加上async关键字。通过这种方式,您可以在内部使用promise,它实际上试图通过ajax获取数据。这样的承诺可以被拒绝,也可以被解决。如果已解决—在您的情况下,如果已成功加载文件列表—而不是返回数据,则可以使用数据解决承诺 下面是一些代码:
async function readinfiles() {
var options = "<option value ='0'>select</option>";
alert("hi");
var promise = new Promise(function(resolve, reject) {
$.ajax({
url: 'fileslist.txt',
success: function(data) {
resolve(data.split('\n'));
}
});
});
var values = await promise;
alert(values);
}
readinfiles();
如您所见,我们正在创建一个名为values的新变量,并将wait关键字所指示的承诺结果分配给它。这意味着在承诺被解决或拒绝之前,它不会执行下一个函数-alert()。你是我的英雄,其他人对我都很刻薄,因为你实际上向我提供了有用的信息。非常感谢我的帮助没问题-很高兴我能帮忙!=)别忘了读书
var values = await promise;
alert(values);