Duktape の上で promise を使用するにはどうすればよいですか?
私のシナリオ: Web ブラウザーで適切に読み込まれるクライアント側の JavaScript コードを Duktape に移行します。JavaScript を実行するために、Dukluv (Duktape および libuv ライブラリとのバインディング) バイナリを使用しています。ただし、私の JavaScript はBlueBird ライブラリに依存しています。
実行しようとすると、エラーが発生します。
no async scheduler available
問題は 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");
};
})();
}
ブラウザーなしで Dukluv でスクリプトを実行しているため、webkitmutationobserver もドキュメント オブジェクトもありません。
Q ライブラリも使用しようとしましたが、それでもエラーが発生しますsetTimeout not defined
。可能であれば、コードのスニペットを使用して解決策を提案してください。ありがとう