当前位置: 首页 > 知识库问答 >
问题:

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

钱经赋
2023-03-14

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

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个答案

冯枫涟
2023-03-14

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

堵毅然
2023-03-14

您可以使用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);
});
 类似资料:
  • 问题内容: 这个问题非常简单和技术性: 我要实现的是: 有没有办法做到这一点?如果不是,可以返回一个值应用于? 问题答案: 您期望的是 同步 ( 阻塞 )类型的请求。 默认情况下 ,请求是 异步的 ( 非阻塞 ),这意味着浏览器不会等待它们完成才能继续工作。这就是为什么您的警报得到错误结果的原因。 现在,您可以选择将请求设置为 sync ,这意味着脚本将仅在请求完成 后 继续运行。 该 建议的 方

  • 问题内容: 全局变量在Python中如何工作?我知道全局变量是有害的,我只是在做实验。 这在python中不起作用: 我收到一个错误: 我究竟做错了什么? 问题答案: 您需要声明: 在Python中, 您分配的 变量默认情况下成为局部变量。您需要使用将它们声明为全局变量。另一方面,您 引用但未分配的 变量不会自动成为局部变量。这些变量指的是封闭范围内最接近的变量。 Python 3.x引入了类似于

  • 当我将数组对象命名为“name”时,类型会自动更改为“String”,而不是“array”。为什么? 导致铬(Mac):

  • 问题内容: 为什么全局变量是不好的?[closed] 问题答案: 这与Python无关。全局变量在任何编程语言中都是不好的。 但是,全局常量在概念上与全局变量并不相同。全局常数完全无害。只是在Python中没有强制性差异,只有约定是。 它们不好的原因是它们使函数具有隐藏的(非显而易见的,令人惊讶的,难以检测的)副作用,从而导致复杂性的增加,并有可能导致产生Spaghetti代码。 但是,即使在函数

  • 本文向大家介绍static全局变量与普通的全局变量有什么区别?相关面试题,主要包含被问及static全局变量与普通的全局变量有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 static全局变量只初使化一次,防止在其他文件单元中被引用; 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。 这两者在存储方式

  • 问题内容: 我一直看到警告,不要在JavaScript中使用全局变量,但是似乎人们说这的唯一原因是因为阻塞了全局名称空间。我可以想象通过将所有变量放入一个大对象中来轻松解决此问题。现在的问题是:除了方便起见,还有其他原因不使用全局变量吗?它们是否涉及任何性能或兼容性问题? 问题答案: 它们使全局名称空间混乱,并且查找速度比局部变量慢。 首先,拥有许多全局变量始终是一件坏事,因为很容易忘记您在某个地