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 相当于啥?的主要内容,如果未能解决你的问题,请参考以下文章

快速入门!详解 Angular2 路由的分类及使用!

Angular 2+初始化输入值

Angular 2:将 Observable 转换为 Promise

Angular篇—Angular1和Angular2的区别

Angular2 Dart - 在 Angular2 组件中获取文本

从“@angular”而不是“angular2”导入 *