如果你还没听说过window.fetch,它是XMLHttpRequest的简易化新API。目前已经在Chrome和Firefox的测试版里实现。
有多简易?
fetch('http://v2ex.com/').then(function(res) {
console.log(res.status);
}); //print 200
这个服务器版的fetch,有助各位在node.js上写请求时可以用同样简洁的API格式。欢迎试毒。
1
yyfearth 2015-01-28 03:17:24 +08:00
其实就是抄jQuery来着吧
|
2
bitinn OP @yyfearth jQuery不懂Promise,至少不懂Promise/A+ https://github.com/jquery/jquery/issues/1722
|
3
yyfearth 2015-01-28 04:01:58 +08:00
@bitinn 不完全符合标准 很正常啊 jQ开始实现的时候貌似标准还没有完全确定下来
就算是 Promise/A+ 出来这后 估计也会因为兼容性问题 不太好修改吧 但是不管怎样 肯定就是大家都用jQ的ajax 觉得原生XHR太麻烦 所以才出来了 window.fetch |
4
bitinn OP @yyfearth yes and no,是的XHR太麻烦,XHR2很多功能但来得太慢,所以才有fetch。不用jQuery开发很多年了,模块化趋势也不是一两天,如果你的喜欢$,甚至有 https://github.com/webpro/DOMtastic
|
5
yyfearth 2015-01-28 04:27:40 +08:00
@bitinn 我只是说显示jQuery 给了大家便利 然后纷纷开始学 并且整合进原生浏览器
可以说 很多功能 都是jQuery推广的结果 然后开始模块化 然后干脆标准化后整合进浏览器了 现在确实可以不用jQuery开发了 但是你看哪些新api 基本上不就是jQuery的用法么 只不过有些改进了 有些简化了 然后标准化了 现在仍然用jQuery 主要还是为了兼容性考虑 如果是存脆移动端web 而且不考虑老设备 新api已经足够强大和易用了 |
6
willwen 2015-01-28 07:54:55 +08:00 via iPhone
module.exports = require("request");
|
7
bitinn OP @yyfearth jQuery的目的是在DOM API还不完善的时代提供一个跨浏览器的API。然而jQuery的长期流行导致了很多开发者总是用它。现在业界逐渐远离jQuery,恰恰是因为它整合了有太多用不到的功能和过去的兼容性代码,即便2.x版本,在移动端的时代也显得臃肿了。
另一个原因是DOM API库已是前端开发比较小一部分了,先前的例子,是给需要$的人。像是 https://github.com/Matt-Esch/virtual-dom 这类库,是不会有jQuery影子的。 @willwen request是个流行的库,但也是存在时间很久的库。模块化之后,你会更希望每个库做有限度的事情,而不是尝试满足过多人的需求。当然node-fetch的存在意义不是替代request,而是提供一个和前端相同的promise-based api |