(1)fetch()使用 Promise,不使用回调函数,因此大大简化了写法,写起来更简洁。

    (2)fetch()采用模块化设计,API 分散在多个对象上(Response 对象、Request 对象、Headers 对象),更合理一些;相比之下,XMLHttpRequest 的 API 设计并不是很好,输入、输出、状态都在同一个接口管理,容易写出非常混乱的代码。

    在用法上,接受一个 URL 字符串作为参数,默认向该网址发出 GET 请求,返回一个 Promise 对象。它的基本用法如下。

    下面是一个例子,从服务器获取 JSON 数据。

    Promise 可以使用 await 语法改写,使得语义更清晰。

    上面示例中,语句必须放在try...catch里面,这样才能捕捉异步操作中可能发生的错误。