您的位置:首页 > 理论基础 > 计算机网络

WinJS Promise设置超时,可用于设置网络请求超时

2013-01-09 00:43 447 查看
网络请求设置超时,只能对Promise设置超时
WinJS.Promise.timeout(1500,WinJS.xhr({ url: "http://www.microsoft.com" })).then();

对于返回的Promise一定要即时处理
WinJS.xhr({ url: url }).then(function () {
console.log("hello");
}, function () {
console.log("error");
}).then(function () {
console.log("world");
});

注:对于异常的promise,一定要有处理其错误信息的then,即then里要有onError函数。

否则异常抛出程序闪退。

如:在飞行模式下发起网络请求

WinJS.xhr({ url: url }).then(function () {
console.log("hello");
});

Promise会抛出异常,而then没有处理,程序闪退!

对于.then执行链也一样。必须要有一个then处理错误,否则程序闪退。

promise发生异常.then如果处理异常了,则返回一个正常promise,不引发异常。.then不处理异常,则返回一个异常promise往下传递,不引发异常。

.done如果不处理异常,则引发异常。.done返回undefined,可用于执行链的最末端。

引发异常就导致程序闪退。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: