在 Javascript 中使用 fetch 提取数据
Extracting data using fetch in Javascript
我正在尝试使用 javascript 读取本地存储的文本文件。我需要传递存储在文本文件中的信息以通过测试结果的评估。由于我无法直接访问文本文件,我将其托管在本地服务器上并尝试使用 URL.
获取数据
这是我的代码的样子 -
const mediaFile = 'http://localhost:8080/' + fileName;
function MediaInfo(file) {
fetch(file)
.then(function (response) {
response.text();
})
.then(function (data) {
console.log(data);
return response.data();
});
}
const a = MediaInfo(mediaFile);
await browser.expect(a).eql(44);
});
但是函数 MediaInfo(mediaFile) 的调用 returns 未定义。知道为什么我无法返回数据吗??
第二个 then
中的函数正在返回一些数据,但 MediaInfo
本身没有返回任何数据。
既然你已经有一个 await
,我建议你完全 async/await:
async function MediaInfo(file) {
const response = await fetch(file);
const text = await response.text();
console.log(text);
return text;
}
另请注意,为了避免变量存储 Promise
,您可能需要更改为
const a = await MediaInfo(mediaFile);
我正在尝试使用 javascript 读取本地存储的文本文件。我需要传递存储在文本文件中的信息以通过测试结果的评估。由于我无法直接访问文本文件,我将其托管在本地服务器上并尝试使用 URL.
获取数据这是我的代码的样子 -
const mediaFile = 'http://localhost:8080/' + fileName;
function MediaInfo(file) {
fetch(file)
.then(function (response) {
response.text();
})
.then(function (data) {
console.log(data);
return response.data();
});
}
const a = MediaInfo(mediaFile);
await browser.expect(a).eql(44);
});
但是函数 MediaInfo(mediaFile) 的调用 returns 未定义。知道为什么我无法返回数据吗??
第二个 then
中的函数正在返回一些数据,但 MediaInfo
本身没有返回任何数据。
既然你已经有一个 await
,我建议你完全 async/await:
async function MediaInfo(file) {
const response = await fetch(file);
const text = await response.text();
console.log(text);
return text;
}
另请注意,为了避免变量存储 Promise
,您可能需要更改为
const a = await MediaInfo(mediaFile);