Tagged

$q

A collection of 1 post

$q

[译]用漫画来解说AngularJs中的Promises

早上,父亲对儿子说:“儿子,去给我预报下天气!” 每一个晴天,父亲都会让他儿子带上他强劲的望远镜,爬山房子附近最高的山顶去查看地平线来预报下午的天气。儿子对他的父亲承诺他会去并且获取到天气预报,在他离开之前他对他的父亲做出了承诺。 在那个时候,父亲会判断明天是否是个好天气,他要准备明日的钓鱼。如果天气不好,他就不会去钓鱼,同时,如果他的儿子没能得到天气预报,他同样会呆在家里。 30分钟之后,他儿子回来了。不同的事情周而复始的发生着: 结果A) 得到了天气预报!晴天:-) 儿子成功的拿到了天气预报,蓝蓝的天空是个晴天!,承诺履行了(儿子遵守了他的诺言),父亲决定周日去钓鱼。 结果B) 得到了天气预报!乌云密布,有雨:-( 儿子成功的拿到了天气预报,但是看起来乌云密布要下雨!,承诺履行了,父亲因为坏天气决定呆在家里。 结果C) 没能拿到天气预报:-/ 儿子没能拿到天气预报,遇到了点麻烦;雾太大了在山上看不到天气怎么样。儿子离家前做出的承诺没能遵守!父亲决定呆在家,不值得冒险。 这如何在代码中表达? 在这种场景中父亲控制着逻辑,父亲把儿子作为一种服务来对待。