Javascript 如何通过新的服务创造承诺?

Javascript 如何通过新的服务创造承诺?,javascript,angularjs,breeze,promise,Javascript,Angularjs,Breeze,Promise,我正在使用新的breeze angular service()更新我的angular/breeze应用程序 文档解释了如何删除Q.js文件等。但现在我被困在替换这种方法上: primePromise = $q.all([getLookups(), getSpeakerPartials()]) .then(extendMetadata) .then(success); return primePromise; 或 我应该如何用新的breeze angular服务替换这段代码?您

我正在使用新的breeze angular service()更新我的angular/breeze应用程序

文档解释了如何删除Q.js文件等。但现在我被困在替换这种方法上:

primePromise = $q.all([getLookups(), getSpeakerPartials()])
    .then(extendMetadata)
    .then(success);

return primePromise;


我应该如何用新的breeze angular服务替换这段代码?

您可能会担心两件不同的事情

  • 如何获得
    $q
  • 我的
    $q
    缺少关键方法,例如
    .when
    all
  • 您必须先注入
    $q
    服务,然后才能使用它,正如您在代码段中所显示的那样。如果您还不知道,请查看Angular文档以了解如何获取它

    至于第2点,请确保您使用的是Angularv.1.2,而不是旧版本

    在v.1.2之前,$q非常有限。。。这就是为什么我鼓励人们坚持使用Q.js。例如,它的承诺只提供了一种
    then
    方法


    ,promise还提供了
    catch
    finally
    $q
    具有
    所有
    when
    方法。

    看起来角度$q是q.js完整版本的子集(?)。你看过文件了吗?我在doc站点上只看到了两种可用的方法。这是我一直在寻找的信息。你好,沃德,如果你有时间,你可能想检查一下。虽然这是一个无关的问题,但我已经回答了。。。热情地
    $q.when();