Angular2 中 Angular 的 $q 相当于啥?
Posted
技术标签:
【中文标题】Angular2 中 Angular 的 $q 相当于啥?【英文标题】:What's the equivalent of Angular's $q in Angular2?Angular2 中 Angular 的 $q 相当于什么? 【发布时间】:2016-10-09 17:07:48 【问题描述】:Angular2 中 Angular 的 $q 等价物是什么?
具体来说,我正在寻找$q.when
,它允许您执行以下操作:
return $q.when(['TestResponse']);
【问题讨论】:
EcmaScript 6 Promise 原生promise是否有等效的when?Promise.resolve(['TestResponse'])
应该可以解决问题
【参考方案1】:
new Promise((resolve, reject) =>
if(xxx)
resolve('ok');
else
reject('error');
).then(x => doSomething())
另见https://developer.mozilla.org/en-US/docs/Web/javascript/Reference/Global_Objects/Promise 或http://learnangular2.com/es6/promises
【讨论】:
如果我们被困在使用 ES5 上怎么办?我们该怎么办? 恕我直言,留在 Angular1.x 这当然是一种选择。但在迁移缓慢的情况下,解决方案可以提供帮助。 其实我不知道 ES5 和 Angular2。【参考方案2】:你可以使用原生的 ES6 Promise。制作新 Angular 的主要原因之一是 ES6 和即将推出的 ES7。
【讨论】:
以上是关于Angular2 中 Angular 的 $q 相当于啥?的主要内容,如果未能解决你的问题,请参考以下文章
Angular 2:将 Observable 转换为 Promise