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

网络请求设置超时,只能对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,可用于执行链的最末端。

引发异常就导致程序闪退。

你可能感兴趣的:(Promise)