- Fetch函数和Promise
.then(...)
.catch(...)
[/qzdypre]
全局的 fetch() 方法用于发起获取资源的请求。它返回一个 promise(期约)
promise有三个状态:
待定(pending): 初始状态,既不是成功,也不是失败。
已解决(fulfilled): 意味着操作成功完成。
已拒绝(rejected): 意味着操作失败。
Promimse的构造函数接受一个函数,这个函数的两个参数分别称作resolve方法和reject方法。当任务成功时,调用resolve()方法,并传回一个Response对象。失败时,调用reject()方法。调用resolve和reject时,传入的值,将作为输入参数,传递到then方法的resolve和reject中。
在Promise对象上可以调用then()方法,它也接受两个方法,一个是resolve,一个是reject。then()方法返回的还是一个Promise对象,因此支持链式调用。值得注意的是:then方法中上一个resolve方法的返回值,将成为下一个then方法中resolve的输入参数。由此构成了数据的流动。Response 对象根据服务器返回的不同类型的数据,提供了不同的读取方法。
其中最常用的就是 res.json()
这方面知识比较复杂,课后有时间可以借助相关参考资料。
推荐书籍:
《JavaScript高级程序设计》
《JavaScript权威指南》
- json
JSON是JavaScript Object Notation的简称,中文含义为“JavaScript 对象表示法”,它是一种数据交换的文本格式,而不是一种编程语言。
JSON 是一种轻量级的数据交换格式,它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
现在多用json来代替xml
JSON键/值对由键和值组成,键必须是字符串,值可以是字符串(string)、数值(number) 、对象(object)、数组(array)、true、false、 null。
在定义JSON键/值时,先是键名(注意键名是要加引号的),后面写一个冒号,然后是值。如:
"username": "bob";
这就等价于这条 JavaScript 语句:
username = "bob";
参考链接:https://baijiahao.baidu.com/s?id=1721122100644576765
IDEA中关于JSON的插件:net.sf.json(依赖于Maven库)大家有时间可以自行下载
文章评论