读取本地文本文件函数不返回字符串类型,而是返回一个void类型
Read Local Text File function not return string type but a void type
我最近在学习JavaScript,发现了这个问题,我的readTextFile函数在这里:
function readTextFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status === 0)
{
var allText = rawFile.responseText;
// alert(allText);
return allText;
}
}
};
rawFile.send(null);
}
我的加载函数:
window.onload = function(){
var fileUrl = "input.txt";
var text = "";
text = String(readTextFile(fileUrl));
window.alert(text);
};
输出是"未定义的"。我的"input.txt"文件与js文件位于同一目录中。请帮忙!非常感谢。
readTextFile
方法有一个异步ajax调用,该调用有一个回调处理程序onreadystatechange
,不会以顺序方式调用。
这个方法readTextFile没有返回这个回调方法之外的任何值,所以你在这里得到了未定义的text = String(readTextFile(fileUrl));
您需要在onreadystatechange
回调方法中随时提醒响应值。
function readTextFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status === 0)
{
var allText = rawFile.responseText;
alert(allText);
}
}
};
rawFile.send(null);
}
相关文章:
- mongodb中db.collection.find()的返回类型是什么
- 了解存储的MongoDB javascript函数中MongoDB命令的返回类型
- 没有返回类型的函数的Javascript单元测试
- 如何在打字稿中声明私有类成员的参数和返回类型
- 重新打开程序函数返回类型错误“无法读取 null 的属性'样式'”
- 为什么可以在 JavaScript 中添加参数类型和返回类型
- 我应该如何声明一个函数的返回类型,该函数返回一个没有数据的$q promise
- 为什么PowerShell函数的返回类型总是数组
- AngularJS工厂返回类型未定义
- javascript:确定函数的返回类型
- Javascript'在'循环内部的运算符返回类型错误
- 使用c++中的构造函数时,ffi的返回类型是什么?
- 显式设置函数的返回类型
- React无状态功能组件的流返回类型是什么?
- Node.js表示json的返回类型
- Typescript编译器为Reselect.createSelector()生成了错误的返回类型
- Javascript返回类型错误"无法获取属性'1'未定义或空引用的
- TS1057:异步函数或方法必须具有有效的可等待返回类型
- getElementByName返回类型错误
- ajax表单提交使用什么返回类型