(1)fetch()
使用 Promise,不使用回调函数,因此大大简化了写法,写起来更简洁。
(2)fetch()
采用模块化设计,API 分散在多个对象上(Response 对象、Request 对象、Headers 对象),更合理一些;相比之下,XMLHttpRequest 的 API 设计并不是很好,输入、输出、状态都在同一个接口管理,容易写出非常混乱的代码。
在用法上,接受一个 URL 字符串作为参数,默认向该网址发出 GET 请求,返回一个 Promise 对象。它的基本用法如下。
下面是一个例子,从服务器获取 JSON 数据。
Promise 可以使用 await 语法改写,使得语义更清晰。
上面示例中,语句必须放在try...catch
里面,这样才能捕捉异步操作中可能发生的错误。