假设有这样的一个场景:我们知道一个用户某次航班,抽象成一个departure,大致是:{userID : user.email,flightID : "UA_343223",date: "01/14/2014 8:00 AM"}有关航班的, ...
假设有这样的一个场景:我们知道一个用户某次航班,抽象成一个departure,大致是:{userID : user.email,flightID : "UA_343223",date: "01/14/2014 8:00 AM"}有关航班的,抽象成一个flight,大致是:{id: flightID,pilot : "Captain Morgan", plane : {make : "Boeing 747 RC",model : "TA-889"},status: "onTime"}{date: date,forecast : "rain"}● 显示departure相关:departure.date实现逻辑大致是:→ 根据departure中的flightID获取flight有关用户的:{有关depature的,通过getDeparture(user)获取到一个promise{有关depatrue的,通过getFlight(flightID)获取到一个promise{有关forecast的,通过getForecast(date)获取到一个promise{接下来就从以上服务所提供的promise数据中获取,由于是promise,所有就可以then,可能会这样写:
var FlightDashboard = function($scope, user, travelService, weatherService){ $scope.user = user; travelService .getDeparture(user.email) //第一个请求 .then(function(depature){ $scope.departure = depature; //第二个请求 travelService .getFlight(departure.flightID) .then(function(flight){ $scope.flight = flight; //第三次请求 weatherService .getForecast(departure.date) .then(function(weather){ $scope.weather = weather; }) }) })};
原标题:AnguarJS中链式的一种更合理写法
关键词:JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。