【发布时间】:2023-03-16 19:02:02
【问题描述】:
我想知道这是否可能,但我有一系列函数,其中 Promise 将是排序和诸如此类的完美解决方案,但是这些函数不依赖于先前 Promise 的数据。我想使用 Promise 来控制执行顺序,但我仍然需要这些函数才能访问范围闭包。
这里有一些关于原因的上下文。在客户端我有一些对象。各种操作导致客户端保存/更新此对象。我们最近遇到了一个竞争条件,其中两个操作非常接近,服务器实际上损坏了数据库中的对象。我认为使用承诺链会很好,因此更新请求将等到没有其他待处理的更新请求。我需要发送到服务器的更新信息显然存在于范围内,因此我需要能够在 pendingRequestPromise 解决时访问它。
我基本上有这样的东西:
scope.$on("UPDATE", function(event, callback){
$http.post("update", scope.myObj).success(function(updateInfo){
callback(updateInfo);
});
};
如果用户足够快地执行正确的操作,我会向服务器发送 2 个对象,这在上周引起了一些问题。
【问题讨论】:
-
您能否在您的问题中展示您当前的解决方案(导致竞争条件的解决方案)?
-
我更新了这个问题,发生的事情和我想要做的事情是否有意义?
标签: angularjs asynchronous promise