powerful-morning-89
04/10/2023, 5:04 PMbright-gpu-74537
04/10/2023, 6:51 PMbright-gpu-74537
04/10/2023, 6:52 PMbright-gpu-74537
04/10/2023, 6:53 PMbright-gpu-74537
04/10/2023, 6:57 PMbright-gpu-74537
04/10/2023, 6:57 PMbright-gpu-74537
04/10/2023, 6:58 PMbright-gpu-74537
04/10/2023, 6:58 PMpowerful-morning-89
04/10/2023, 7:23 PMbright-gpu-74537
04/10/2023, 7:24 PMhaxe
sys.thread.Thread.createWithEventLoop(() -> {
makeRequestCommon(request).then(response -> {
resolve(...);
}, error -> {
...
});
});
bright-gpu-74537
04/10/2023, 7:25 PMpowerful-morning-89
04/10/2023, 7:27 PMhx
enum WorkerResult {
Success(resp:HttpResponse, resolve:HttpResponse->Void);
Error(e:Any, err:Any->Void;
}
var deque = new sys.thread.Deque<WorkerResult>();
function makeThreadedRequest(request:HttpRequest):Promise<HttpResponse> {
return new Promise((resolve, reject) -> {
sys.thread.Thread.createWithEventLoop(() -> {
makeRequestCommon(request).then(response -> {
deque.push(Success(response, resolve));
}, error -> {
deque.push(Error(error, reject));
});
});
});
}
function onTimer() {
var ready = [];
while(true) {
var o = deque.pop(false);
if(o != null) ready.push(o) else break;
}
for (item in ready) {
switch item {
case Success(resp, resolve):
resolve(resp);
case Error(e, reject):
reject(e);
}
}
}
bright-gpu-74537
04/10/2023, 7:28 PMpowerful-morning-89
04/10/2023, 7:33 PMhx
function makeThreadedRequest(request:HttpRequest):Promise<HttpResponse> {
return new Promise((resolve, reject) -> {
var mainThread = Thread.current();
mainThread.events.promise();
sys.thread.Thread.createWithEventLoop(() -> {
makeRequestCommon(request).then(response -> {
mainThread.events.runPromised(() -> resolve(response));
}, error -> {
mainThread.events.runPromised(() -> reject(error));
});
});
});
}
bright-gpu-74537
04/10/2023, 7:34 PMpowerful-morning-89
04/10/2023, 7:38 PMbright-gpu-74537
04/10/2023, 7:39 PMbright-gpu-74537
04/10/2023, 7:40 PMbright-gpu-74537
04/10/2023, 7:40 PMpurple-businessperson-14467
04/10/2023, 8:45 PMpurple-businessperson-14467
04/10/2023, 8:46 PMpurple-businessperson-14467
04/10/2023, 8:46 PMbright-gpu-74537
04/10/2023, 8:47 PMambitious-knife-25690
04/10/2023, 10:24 PMhx
Called from hxcpp::__hxcpp_main
Called from sys.thread._Thread.Thread_Impl_::processEvents C:\HaxeToolkit\haxe\std/cpp/_std/sys/thread/Thread.hx
line 62
Called from sys.thread.EventLoop::loop C:\HaxeToolkit\haxe\std/sys/thread/EventLoop.hx line 183
Called from haxe.MainLoop::tick C:\HaxeToolkit\haxe\std/haxe/MainLoop.hx line 172
Called from haxe.Timer::stamp haxe/Timer.hx line 30
Error : not implemented
ambitious-knife-25690
04/10/2023, 10:24 PMbright-gpu-74537
04/10/2023, 10:25 PMbright-gpu-74537
04/10/2023, 10:26 PMambitious-knife-25690
04/10/2023, 10:28 PMambitious-knife-25690
04/10/2023, 10:29 PMambitious-knife-25690
04/10/2023, 10:32 PM