gpt4 book ai didi

javascript - 如何获得对 Promise 的延迟对象的引用?

转载 作者:行者123 更新时间:2023-12-03 07:39:33 25 4
gpt4 key购买 nike

如果我有一个 Promise 的引用,我怎样才能获得它的延迟对象的引用,以便我可以使用 deferred.notify..?

var promise = api.get('/some/url').then(function(response){
var items = [];
_.each(response.data, function(item){
// more code to process item
// how do I get a reference to deferred so I can do a...
// deferred.notify('processing ' + item.name);
});
return items;
});
return promise;

最佳答案

If I have a reference to a promise, how can I get a reference to it's deferred object?

你不能。 promise 是消费者方的,只能遵守。延迟仅对生产者可用,生产者可以触发通知。

您可能能够做的事情是

return api.get('/some/url').then(function(response){
var items = [];
var def = Q.defer();
_.each(response.data, function(item) {
// do this asynchronously (or there won't be any subscribers yet):
def.notify('processing ' + item.name);
});
def.resolve(items);
return def.promise;
});

这种情况的复杂性和尴尬是现在不推荐使用通知的原因之一。

关于javascript - 如何获得对 Promise 的延迟对象的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35466111/

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