我已经创建了一个函数来使用URL从文件中获取文本。该函数使用jQuery的$.get()
来获取文件。这个函数工作得很好,但这里的问题是$.get()
是异步的,所以输出的顺序是不可预测的。我尝试将它更改为同步的,但它完全冻结了页面。我尝试过等待它响应,我想我会花点时间,但它没有起作用。
这是我的密码。
var File = (function () {
return {
GetTextFromFile:function(filePath) {
console.log ("Start")
$.get({
url:filePath,
async:true
}, function (data) {
console.log(data)
});
console.log ("End")
}
}
})();
此函数输出
Start
End
'Content_of_the_file'
这就产生了一个问题,因为我无法返回
文件的内容,因为它还没有加载,因为异步的get函数。那么,有没有办法告诉函数等待$.get()
返回文件内容。
使用Async Await
,我们可以使asynchronous在同步模式下工作。
var File = (function () {
return {
GetTextFromFile: async function(filePath) {
console.log ("Start")
data = await $.get({
url:filePath,
async:true
}, function (data) {
return data
});
console.log(data)
console.log ("End")
return data
}
}
})();
await File.GetTextFromFile()