gpt4 book ai didi

angularjs - 创建自己的 angularjs $q promise

转载 作者:行者123 更新时间:2023-12-02 21:32:25 24 4
gpt4 key购买 nike

此示例尝试使同步代码异步。我发现的所有示例都在做相反的事情,除了 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
});

而不是记录“这不会发生!”后面跟着“great”,我实际上看到传递给 $qlogging 的函数::

    result function(resolve, reject) {
console.log "this does not happen!"
resolve('great')
}

有人能看到我做错了什么吗?

最佳答案

你没有做错任何事。我真的认为 Angular 文档显示此行隐藏在其上方的代码是不合适的:

While the constructor-style use is supported, not all of the supporting methods from ES6 Harmony promises are available yet.

如您所见,它会造成很多困惑。

使用构造函数方法(如 Zipper 发布的)

var dfd = $q.defer();

然后您可以执行以下操作:

dfd.reject('some value');
dfd.resolve('some value');

关于angularjs - 创建自己的 angularjs $q promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27490089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com