我只需要我测试对象获得新的数据,但是在异步函数中重写它之后,它仍然是旧的
var fcrForm = {
employees:[]
};
$httpBackend.whenGET('http://localhost:3001/forms').respond(200, fcrForm);
$httpBackend.whenPUT('http://localhost:3001/forms').respond(function (method, url, data) {
fcrForm = JSON.parse(data)
return [200, fcrForm, {}]
});
您可以使用Promission修复此问题。然后
const lol = async()=> {
const data = await fetch('https://jsonplaceholder.typicode.com/todos/1')
const res = await data.json()
test = res;
return res;
}
lol().then(function(res) {
console.log("test: " + test);
});
console.log(test)将在
test = res
分配将发生。
您需要等待lol调用,因为它是一个异步函数(进行异步网络调用)。
await lol()
这是JS中事件循环的一部分。
我推荐在这里阅读更多关于它的内容:
https://blog.sessionstack.com/how-javascript-works-event-loop-and-the-rise-of-async-programming-5-ways to-better-coding-with-2F077C4438B5