栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Angular中使用Bluebird?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Angular中使用Bluebird?

这是可能的,甚至很容易!

好吧,如果我们看看Angular自己的诺言,我们需要将Bluebird带到

$evalAsync
某个地方才能获得完全相同的行为。

如果这样做,那么两个实现都符合Promises /A+的事实意味着我们可以在

$q
代码和Bluebird代码之间进行互操作,这意味着我们可以在Angular代码中自由使用Bluebird的所有功能。

蓝鸟通过以下功能公开了此

Promise.setScheduler
功能:

// after this, all promises will cause digests like $q promises.function trackDigests(app) {    app.run(["$rootScope",function ($rootScope) {        Promise.setScheduler(function (cb) { $rootScope.$evalAsync(cb);        });    }]);}

现在我们要做的就是添加一个:

trackDigests(app);

一行接

var app =...
一行,一切都会按预期进行。为了获得奖励积分,请将Bluebird放入服务中,以便您可以注入它,而不是在全局名称空间上使用它。

这是一个说明这种行为的 小提琴

请注意,除了Bluebird拥有的所有功能之外

$q
,更重要的功能之一是Bluebird 不会
运行
$exceptionHandler
,而是会自动跟踪未处理的拒绝,因此您可以
throw
自由使用Bluebird的诺言,Bluebird会解决它们。而且调用
Promise.longStackTraces()
可以帮助调试很多东西。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/386059.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号