提问者:小点点

为什么post请求[重复]后我的全局变量不覆盖


我只需要我测试对象获得新的数据,但是在异步函数中重写它之后,它仍然是旧的

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, {}]
});

共2个答案

匿名用户

您可以使用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