小编San*_*ale的帖子

为什么在 JavaScript 函数体内调用 await 需要异步?

必须在包含函数上使用async关键字才能在函数体内使用await

async function fetchMovies() {
  const response = await fetch('/movies');
  console.log(response);
}

fetchMovies();
Run Code Online (Sandbox Code Playgroud)

AWAIT被用来对异步完成方框取()调用。从代码中可以看出,函数fetchMovies()甚至没有返回任何值。即使这样做了,它也会影响调用者使用返回值的方式,但是为什么它会影响从函数体调用另一个异步调用呢?

我的问题是为什么需要这样做?有什么好的解释吗?它是否与实际实现await的需要有关,并在旧的 JavaScript 版本中支持它?

我知道使用了iffi模式能够使用await但这是否会以任何方式更改iffi代码块后面的代码的语义?

(async () => {
  const response = await fetch('/movies');
  console.log(response);
})();
Run Code Online (Sandbox Code Playgroud)

我也知道模块中支持顶级等待

可能是我错过了一些非常明显的东西。

javascript async-await

25
推荐指数
1
解决办法
1765
查看次数

在什么情况下 REST API 应返回 HTTP 状态 503

标准说:

10.5.4 503 服务不可用。由于服务器暂时超载或维护,服务器当前无法处理该请求。这意味着这是暂时的情况,延迟一段时间后就会得到缓解。

参考:https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

如果服务器在数据库访问级别存在锁争用,那么服务器在这种情况下是否应该返回 503。或者 503 状态的含义是:

  • 网络过载
  • DOS类型情况
  • 最大负载平衡
  • 明确的维护窗口。

在其他什么情况下返回 HTTP 状态 503 是有意义的。

非常感谢任何详细的澄清。

rest http-status-code-503

5
推荐指数
1
解决办法
2万
查看次数