此示例尝试使同步代码异步.我发现的所有例子都是相反的,除了docs.
angularjs.org .. $q下面的主要第一个例子.
该文档列出了我试图使用的$q构造函数.不幸的是,jsfiddle Angular库1.1.1和1.2.1提供了一个$q对象(不是函数),如本例所示.相反,我将提供我的例子,并希望有人会看到这个错误.
https://docs.angularjs.org/api/ng/service/ $Q
我需要看到“这不会发生!”要执行的行.
f = function(name) { return $q(function(resolve,reject) { console.log "this does not happen!" resolve('great') }); } f(name).then(function(result) { console.log 'result',result },function(error) { console.log 'error',error });
而不是记录“这不会发生!”接着是“很棒”,我实际上看到传递给$q的函数记录::
result function(resolve,reject) { console.log "this does not happen!" resolve('great') }
谁能看到我做错了什么?