以下方法可行:
$q.when()
.then(checkCookieToken) // check if cookie already exists e.g. in cookie
.then(setHeader) // set Header with REST-Token e.g from cookie
.then(checkTokenOnline) // if not OK logout
.then(getMenu) // if previous OK get navigation menu
.then(getDataResource) // set ngResource
.then(getData); // and query it
4个问题:
1)如果例如checkTokenOnline
不正确,我不想执行其余的函数,如何在此时退出(退出、中断等)?
2)如何将其中一些设为并行运行,而另一些则串行运行?
3)如何在它们之间传输数据?
4)如何使以下函数依赖于其先前的结果?
return
在代码中独立存在,而不在花括号内?这对 PHP 程序员来说有些令人困惑。 - user3025289.then
是 JavaScript Promise 的标准方法。请参阅 Promises/A+ 开放标准。或者特别针对 AngularJS,请参阅 AngularJS $q 服务 API 参考。 - georgeawg$q.when
,$http
,$timeout
,$interval
,所有.then
和.catch
方法,许多AngularJS自定义模块和工厂服务以及其他服务。 - georgeawg