minggeJS
minggeJS copied to clipboard
███ 1.9.6.2发布 ███
ps 1.9.6.2版本-------------
1: .extend 机制变更,多参数时,第一个参数的内存指针不再被复制,而是随程序执行而改变
2:JSONP,微量BUG修正!
3:各API再次微调,不详
因为更新间隔比较短,修复不多,所以这次的版本号依然是1.9.6 后面多一个2 。 ----》 版本号: 1.9.6.2
更新时间:2016年3月21日19:30分。
- 代码呢?
- 还微量BUG修复, JSONP 设置的超时时间无效, 居然说是微量BUG? 不过也确实是微量BUG, 因为压根就没人使用的你MingGeJS(除了你自己).
http://www.shearphoto.com/bbs/forum.php?mod=viewthread&tid=41
怎么不PUSH到github上?
上班晚上吧
能传论坛,就不能PUSH到Github上? 一个 git push
不就完事了, 连网页都不用打开.
再另外跟你说个事, 你在 catch
中使用 console.log
连个判断都没有, 在旧版本的IE中没有这个 console
对象的, 所以当代码跑到 catch
中的时候, 会继续出错.
我定义了的,你没看到而已,IE 678 深度测试的,IE 678我看得很重的
if (!window.console || !console.log) { window.console = { log: function(e) {} }; }
2753行
嗯, 在最下面找到代码了.
关于你新改之后的 1.9.6.2
仍然有问题.
还是我昨天发的代码, 你把你的 1.9.6.2
JS套进去, 然后看控制台.
error
事件是会触发了. success
没有触发, 这些都是正确的.
但问题是, 在这种情况下, 你没有把之前生成 callback
指向一个空的函数,
从而导致当这个请求真正回来的时候, 浏览器报错了.
这个没有必要了,逻辑正确就可以。
你这个报错没法控制的,如果输出的不是js语法,你同样也是报错的,还有这种情况是很合理的,程序没有被阻塞就ok
他超时5分钟,我的空函数岂不是要继续驻留5分钟,这样更不合理
这个是正常情况, 你说的是非正常情况(即不符合JSONP的要求).
而这个是符合要求, 但请求超时, 最终因为你的代码导致的出错的.
要处理这个问题也很简单, 在jsonp的error
中 不直接删除,而是将它指向一个自删除的函数.
这样当那个 请求回来 之后, 调用这个函数, 完成删除功能.
你要理解超时,你一超时,我的逻辑就不会再等你,我的函数就会注销,因为你超时我任务完成了!假如你超时十分钟,我岂不是继续等你,十分钟后你有结果当然好,问题你十分钟后,报服务器端超时错误,这时候输出来的不是js语法, 控制台一样报错,还让我的 空函数白等你了
- 请求是你的JS代码发出的.
- 后端输出的回调函数名是你指定的.
- 在超时之后,你把回调的函数整死了.
- 你没有放弃之前的请求.
- 在请求回来之后, 又因为你把回调函数整死了, 所以没有那个函数了, 然后就出错了.
有一个 jquery-jsonp
的 jQuery
插件解决了这个问题.
https://github.com/jaubourg/jquery-jsonp
这个报错合理的,绝对不会造成程序阻塞。顶多控制台外观问题-不好看
https://github.com/jaubourg/jquery-jsonp,你这个插件没用,我想他控制台报错,故意写错后端代码,他还能纠错?
超时就应该关闭逻辑,报错也是控制台外观问题
我现在和你讨论的是 后端返回的时候 超时了(超时了前端指定的时间), 但返回的是正确的JS代码的情况下, 你怎么老往返回的不是JS的代码的话题上扯呢?
返回的不是JS代码,那它就不是JSONP, 自然也就不在这个话题之内. 你怎么老往返回的不是JS的代码的话题上扯呢?
返回的不是JS代码,那它就不是JSONP, 自然也就不在这个话题之内.
经过五分钟的快速分析,不是BUG! 宣布结贴!
@mingge8888 建议先学会issues是干什么用的,还有issues有关闭不需要您“结贴”
mdzz