我有这段代码
Epoch 0 completed out of 100 loss: 456.28773515997455
Epoch 10 completed out of 100 loss: 6.713319106237066
Epoch 20 completed out of 100 loss: 0.24847120749460316
Epoch 30 completed out of 100 loss: 0.09907744570556076
但是当我进行循环函数获取时它会返回错误的值:
const admin = await this.userRepository.findOne({ username: 'admin' });
admin.balance -= 5000;
return await this.userRepository.save(admin).then(data => {
return { balance: data.balance };
});
初始值:
用户名:“admin”,余额:15000
我得到了结果:
const Test = async() => fetch('http://localhost:8843/user', {method: "POST"}).then(res=>res.json()).then(data=> console.log(data))
for(let i =0; i<10; i++) Test()
答案 0 :(得分:1)
Test
不应与async ()
一起声明,因为它已经返回Promise
,使用async
会使其返回Promise
结算Promise
。
如果您要逐个执行Test()
10次,则需要在for循环中await
。
const Test = () => (
fetch('http://localhost:8843/user', {method : "POST"})
.then(res=>res.json())
.then(data=> console.log(data))
);
// somewhere inside a `async` function
for(let i = 0; i < 10; i++) {
await Test();
}
答案 1 :(得分:0)
我认为在return
声明中您需要使用async
运算符,该运算符通常会在await
告诉您的应用仅在操作完成后才完成。