[AngularJS] Promise: promise chains, orginaze code
angular.module( "FlightDemo", [ "FlightServices" ] ) .controller( "flightDashboard", FlighDashboard ); (function (angular) { "use strict"; angular.module("filghtServices", []) .service("user", function () { return{ email: "answer881215@gmail.comm", repository: "http://cs.uef.fi/paikka/zhentiw/personal" } }) .service("travelService", function (user, $q) { //Fight API (each returns a promise) return{ getDeparture: function (user) { var defer = $q.defer(); defer.resolve({ userID: user.email, flightID: "UA_21564", date: "01/14/2014 8: 00 AM" }); return defer.promise; }, getFlight: function(flightID){ return $q.resolve({ id: flightID, pilot: "Captain Morgan", plane: { make: "Boeing 717 RC", model: "TA-889" }, status: "onTime" }); } } }) .service("weatherService",function($q){ return{ getForecast: function(date){ return $q.resolve({ date: date, forecast: "rain" }) } } }); }(window.angular));
var FlighDashboard = function($scope, user, travelService, weatherService){ var loadDeparture = function(user){ return travelService .getDeparture(user.email) .then(function(){ $scope.departure = departure; return departure.flightID; }); //return an promise }, loadFlight = function(flightID){ return travelService .getFlight(flightID) .then(function(){ $scope.flight = flight; return flight; }); }, loadForecast = function(){ return weatherService .getForecast($scope.departure.date) .then(function(weather){ $scope.weather = weather; return weather; }); }; loadDeparture(user) .then(loadFlight) .then(loadForecast) .then("ALL finish"); $scope.user = user; $scope.departure = null; $scope.flight = null; $scope.weather = null; }
分类:
AngularJS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具