Javascript 在遍历承诺数组时,文本不是函数错误 功能haePosti(i){ 让postilup=fetch('http://localhost:8080/postit/"(i),; 返回后置; } 异步函数tekstiPosti(){ var luku=等待muokkaaLuku(); var-lupaukset=[]; var lupaukset2=[] var postit=[]; var i=0; 对于(i=1;i{ 对于(i=0;i
我已经编写了一个节点API,从中我尝试获取()数据并对其进行修改。一切进展顺利,直到我不得不开始改变返回值。在控制台中,它显示它将所有承诺都正常地推送到数组,甚至在promise.all()命令之后解析它们,但当我尝试开始更改值时,它会抱怨以下问题Javascript 在遍历承诺数组时,文本不是函数错误 功能haePosti(i){ 让postilup=fetch('http://localhost:8080/postit/"(i),; 返回后置; } 异步函数tekstiPosti(){ var luku=等待muokkaaLuku(); var-lupaukset=[]; var lupaukset2=[] var postit=[]; var i=0; 对于(i=1;i{ 对于(i=0;i,javascript,Javascript,我已经编写了一个节点API,从中我尝试获取()数据并对其进行修改。一切进展顺利,直到我不得不开始改变返回值。在控制台中,它显示它将所有承诺都正常地推送到数组,甚至在promise.all()命令之后解析它们,但当我尝试开始更改值时,它会抱怨以下问题 我对网络编程相对较新,对node和js的了解只有几个星期。有什么明显的地方我遗漏了吗?您试图在承诺上使用文本,而不是承诺的履行价值。您需要使用Promise.all提供的数组作为其实现值,而不是lupaukset 但还有一些其他问题: 您没有检查
我对网络编程相对较新,对node和js的了解只有几个星期。有什么明显的地方我遗漏了吗?您试图在承诺上使用
文本,而不是承诺的履行价值。您需要使用Promise.all
提供的数组作为其实现值,而不是lupaukset
但还有一些其他问题:
- 您没有检查
fetch
调用的HTTP成功(fetch
API footgun)
- 您在
posit
数组中包含任何内容之前返回它,因为它是由Promise的实现处理程序填充的
见评论:
function haePosti(i) {
let postilup = fetch('http://localhost:8080/postit/' + i);
return postilup;
}
async function tekstiPosti() {
var luku = await muokkaaLuku();
var lupaukset = [];
var lupaukset2 = []
var postit = [];
var i = 0;
for (i = 1; i < luku; i++) {
lupaukset.push(haePosti(i));
}
Promise.all(lupaukset).then(()=>{
for (i = 0; i < luku; i++) {
console.log(lupaukset[i]);
lupaukset[i] = lupaukset[i].text().then(function(text) {
postit[i] = text.replace(/[^A-Za-z]+/g, '');
console.log(postit[i]);
});
}
}
);
return postit;
}
异步函数haePosti(i){
const response=等待获取('http://localhost:8080/postit/"(i),;
//处理“取回”步兵枪
如果(!response.ok){
抛出新错误(“HTTP错误”+response.status);
}
//请求正文的文本
返回response.text();
}
异步函数tekstiPosti(){
const luku=等待muokkaaLuku();
var-lupaukset=[];
for(设i=0;itext.replace(/[^A-Za-z]+//g');
}
您试图在承诺上使用文本,而不是承诺的履行值。您需要使用承诺提供的数组。所有
都作为其履行值,而不是lupaukset
但还有一些其他问题:
- 您没有检查
fetch
调用的HTTP成功(fetch
API footgun)
- 您在
posit
数组中包含任何内容之前返回它,因为它是由Promise的实现处理程序填充的
见评论:
function haePosti(i) {
let postilup = fetch('http://localhost:8080/postit/' + i);
return postilup;
}
async function tekstiPosti() {
var luku = await muokkaaLuku();
var lupaukset = [];
var lupaukset2 = []
var postit = [];
var i = 0;
for (i = 1; i < luku; i++) {
lupaukset.push(haePosti(i));
}
Promise.all(lupaukset).then(()=>{
for (i = 0; i < luku; i++) {
console.log(lupaukset[i]);
lupaukset[i] = lupaukset[i].text().then(function(text) {
postit[i] = text.replace(/[^A-Za-z]+/g, '');
console.log(postit[i]);
});
}
}
);
return postit;
}
异步函数haePosti(i){
const response=等待获取('http://localhost:8080/postit/"(i),;
//处理“取回”步兵枪
如果(!response.ok){
抛出新错误(“HTTP错误”+response.status);
}
//请求正文的文本
返回response.text();
}
异步函数tekstiPosti(){
const luku=等待muokkaaLuku();
var-lupaukset=[];
for(设i=0;itext.replace(/[^A-Za-z]+//g');
}
您不需要等待Promise.all或使用它提供的解析值数组。您不需要等待Promise.all或使用它提供的解析值数组。