- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们如何在 Duktape 之上使用 promise?
我的场景:将在 Web 浏览器上加载良好的客户端 javascript 代码迁移到 Duktape。我正在使用 Dukluv(与 Duktape 和 libuv 库绑定(bind))二进制文件来运行 JavaScript。但是我的 javascript 依赖于 BlueBird 库。
当我尝试执行时出现错误:没有可用的异步调度程序
问题出在bluebird的schedule.js第33行,代码如下,供引用:
else if ((typeof MutationObserver !== "undefined" &&
(_MutationObserver = MutationObserver)) ||
(typeof WebKitMutationObserver !== "undefined" &&
(_MutationObserver = WebKitMutationObserver))) {
schedule = (function() {
var div = document.createElement("div");
var queuedFn = void 0;
var observer = new _MutationObserver(
function Promise$_Scheduler() {
var fn = queuedFn;
queuedFn = void 0;
fn();
}
);
observer.observe(div, {
attributes: true
});
return function Promise$_Scheduler(fn) {
queuedFn = fn;
div.classList.toggle("foo");
};
})();
}
没有 webkitmutationobserver 或文档对象,因为我在没有任何浏览器的情况下在 Dukluv 上运行我的脚本。
我还尝试使用 Q library,即使在那里我也收到错误消息 setTimeout not defined
。请建议我一个解决方案,如果可能的话,请使用一些代码片段。谢谢
最佳答案
Bluebird 允许您为这些场景明确设置调度程序。你需要告诉 bluebird 如何直接执行一个函数:
Promise.setScheduler(function(fn){ // fn is what to execute
var timer = uv.new_timer.call({});
uv.timer_start(timer, 0, 0, fn); // add the function as a callback to the timer
});
在您的所有 promise 代码之上执行此操作 - 这将解决上述错误。
关于javascript - 在 Duktape 上使用 promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27432759/
我在另一个程序中嵌入了一个非常简单的 duktape 插件。简单的东西有效,但我不确定如何发出 HTTP 请求。甚至可以从 Duktape VM 内发出 HTTP 请求吗? 最佳答案 不,你不能。托管
使用 duktape javascript 实现,您可以将 native C 函数公开给 javascript 并像这样实现它们: static duk_ret_t native_prime_chec
我有 C++ 项目并且正在使用 duktape JS 库。我需要在 JS 中注册全局函数并将指向对象的指针保存为这个函数的闭包数据,这样我就可以在调用函数时访问这个指针。 我知道如何在 lua c a
Duktape 似乎没有开箱即用的 Android 作为平台。我应该如何配置它才能自己构建一个原生的 c/c++ 共享库,以便在 Android 上运行?请让我知道不同的标志,以便使用最小的库文件进行
我正在使用 TypeScript 生成在 duktape 解释器中运行的枚举代码: var NodeType; (function (NodeType) { NodeType[NodeType
go-duktape存储库没有“问题”部分或无论如何寻求帮助。 自述文件中没有有用的示例。 我正在尝试在 javascript 文件中定义一个函数(带有参数和返回值)并从 go 中调用该函数。 Jav
所以我有这个 duktape 函数,它接受一个对象作为参数之一。在正常情况下,要检索每个对象属性的值,我会使用 duk_get_prop()和 duk_push_string() ,但是这假设我事先知
我在 Linux 上使用 Duktape(命令行,而不是浏览器), 并希望我的代码能够在 Linux 中执行外部程序,例如 ls。 我浏览了 Duktape 的网站,寻找此解释器和编译器支持的 Jav
我们如何在 Duktape 之上使用 promise? 我的场景:将在 Web 浏览器上加载良好的客户端 javascript 代码迁移到 Duktape。我正在使用 Dukluv(与 Duktape
每个人都对 duktape 框架感兴趣。如何将 json 属性与 cpp 代码集成? 假设我们得到以下 json: { "name" : "duktape", "surname" :
假设我有一个 C++ 类 Point class Point { public: Point(); Point(float x, float y); ~Point();
我今天刚开始在我的 C++ 框架中使用 Duktape,我已经阅读了整个 API,但无法理解如何捕获错误。我发现了一些关于放置在堆栈上的错误对象的线索但是,每次出现错误(例如无效的 javascrip
我正在尝试使用 duktape 解析递归数据结构,但似乎某处有错误。由于我是 duktape 库的新手,并且示例不清楚这种情况,我想我可以问问人群。 数据: { "type": "window",
我正在使用 Duktape 嵌入 JavaScript,但使用 require 总是会导致错误: int main(){ duk_context *ctx = duk_create_heap_de
基于http://wiki.duktape.org/HowtoNativeConstructor.html ,我可以创建一个 C++ 类并导出到 JavaScript,JavaScript 代码也可以
我正在尝试将一些代码从 Node.js 移植到 Duktape - Duktape 是否具有与 Node 的 fs.readFileSync 等效的功能? 最佳答案 https://github.co
各位。我刚刚在我的 C++ 代码中集成了 duktape,这样我就可以使用 javascript。 但我现在无法解决的问题是:如何在 javascript 中使用 json 对象。 假设我有一些类似
我试图实现一个原生的 C duktape modSearch,但我被卡住了。我阅读了 DUKtape 文档并查看了 https://github.com/svaarala/duktape/issues
我正在尝试使用 Duktape 进行 Android 和 JavaScript 绑定(bind)。 我按照此处的文档 https://wiki.duktape.org/HowtoModules.h
我正在尝试将我的对象导出到 javascript,但我仍然不知道如何绑定(bind)属性“getter”和“setter”。 a.g: class MyObjectWrapper : public M
我是一名优秀的程序员,十分优秀!