У меня есть следующая проблема с совместимостью C ++/V8. Когда я разрешаю обещание вне конструктора, тогдашний обратный вызов никогда не вызывается. Вот код JavaScript V8: < /p>
У меня есть следующая проблема с совместимостью C ++/V8. Когда я разрешаю обещание вне конструктора, тогдашний обратный вызов никогда не вызывается. Вот код JavaScript V8: < /p> [code]'use strict'; v8log ("******** C++ Promise start ********"); const promiseFromCpp = new GetCppPromise(); v8log ("promise created"); promiseFromCpp.then(value => { v8log ("C++::GetCppPromise()::Resolve->v8::then ", value); }).catch(error => { v8log (error); }); v8log ("******* C++ Promise end ********"); < /code> Существует функция конструктора, предоставленная < /p> class cpp2v8 { public: static v8::Local resolver; static void getNewPromise(const v8::FunctionCallbackInfo& args) { v8::Isolate* isolate = args.GetIsolate(); v8::HandleScope handle_scope(isolate); v8::Local context = isolate->GetCurrentContext();
args.GetReturnValue().Set(promise); } }; v8::Local cpp2v8::resolver; [/code] И вот как он решается, см. CPP2V8 :: Resolver-> Resiple в конце.[code] { v8::Isolate::Scope isolate_scope(isolate); v8::HandleScope handle_scope(isolate);
v8::Local global = v8::ObjectTemplate::New(isolate); v8api::registerLogToConsole(isolate, global); //provide constructor function here global->Set(v8::String::NewFromUtf8(isolate, "GetCppPromise").ToLocalChecked(), v8::FunctionTemplate::New(isolate, cpp2v8::getNewPromise));
У меня есть следующая проблема с совместимостью C ++/V8. Когда я разрешаю обещание вне конструктора, тогдашний обратный вызов никогда не вызывается. Вот код JavaScript V8:
'use strict';
v8log ( ******** C++ Promise start ******** );
const...
У меня есть следующая проблема с совместимостью C ++ /V8. Когда я разрешаю обещание вне конструктора, тогдашний обратный вызов никогда не вызывается. Вот код JavaScript V8:
'use strict';
v8log ( ******** C++ Promise start...
У меня есть следующая проблема с совместимостью C ++ /V8. Когда я разрешаю обещание вне конструктора, тогдашний обратный вызов никогда не вызывается. Вот код JavaScript V8:
'use strict';
v8log ( ******** C++ Promise start...
У меня есть следующая проблема с совместимостью C ++/V8. Когда я разрешаю обещание вне конструктора, тогдашний обратный вызов никогда не вызывается. Вот код JavaScript V8:
'use strict';
v8log ( ******** C++ Promise start ******** );
const...