gpt4 book ai didi

javascript - javascript中具有公共(public)回调的类

转载 作者:行者123 更新时间:2023-12-03 10:53:33 26 4
gpt4 key购买 nike

我想构建一个javascript类来注册几个不同的函数来执行单个公共(public)回调,所有注册的函数应该异步执行,然后一旦所有函数都完成,它应该执行定义的回调函数

我们还应该能够在回调函数执行之前定义一个最长时间。例如,如果我们将其定义为3000,并且所有注册函数返回的时间超过3000 ms,则即使ajax函数尚未执行,它也应该继续执行回调函数。完成重调。

需要明确的是,此代码需要灵活、独立且可重用

假设我们注册的任何函数都将实现对我们在其中某个时刻定义的函数的调用,这标志着其完成。例如。在函数结束时,我将输入 myClass.markDone() 让类知道函数已完成执行

是否可以使用 javascript 或使用 angular.js 而不使用 jquery?

最佳答案

要实现这一目标,请查看这些 Angular 内置模块:

https://docs.angularjs.org/api/ng/service/ $q

https://docs.angularjs.org/api/ng/service/ $超时

这是 plunkr 上的示例实现:

qAllWithTimeout([
makePromise(function(callback) {
// Mock async call 1
setTimeout(callback, 200);
}),
makePromise(function(callback) {
// Mock async call 2
setTimeout(callback, 500);
}),
makePromise(function(callback) {
// Long running mock async call 2
setTimeout(callback, 10500);
})
], 3000)
.then(function() {
$scope.state = 'ready';
})

http://plnkr.co/edit/hNo9kJmKIR4hEoNk9pP2?p=preview

关于javascript - javascript中具有公共(public)回调的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28342146/

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