問題タブ [jint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Jint でサードパーティの js ライブラリを使用する
データベースから取得したユーザー定義の匿名の JavaScript 関数を、ASP.Net アプリケーションのコンテキストでサーバー側で実行する必要がある機能に取り組んでいます。
この目的のためにJintを評価しています(NuGetの最新バージョン)。以下のように、基本的な操作を実行して値を返す関数を問題なく実行できました。
私の質問は、Jint が lodash のようなサードパーティのライブラリを使用する JavaScript 関数の実行を容易にするかどうかです。もしそうなら、Jintエンジンにそれを認識させるにはどうすればよいですか(つまり、サードパーティのライブラリ)?
例として、次の関数の実行があります。
よろしくお願いします。
javascript - Jint で Promises\A+ ポリフィル ライブラリを使用すると、setTimeout に代わるものはありますか?
私は、 Jintエンジンでホストされている es6 Promises ポリフィル ライブラリ ( es6-promise )を使用していますが、ほとんどの場合、うまく機能しています。
それを機能させるには、setTimeout
実装を提供する必要があり、 how-to-create-timer-on-jint-javascript-sideからインスピレーションを得ました。
ただし、このsetTimeout
実装の使用に問題がないわけではありません。これは、コールバックされる Promise の構築で Promises ライブラリが作業を完了するよりも早く .NET タイマーがコールバックをトリガーする場合があるためです。
この特定の問題を解決するために私がしなければならない 1 つの救済策setTimeout
は、コールバックの実装と実行を遅らせることです。ライブラリが作業を完了するためにより多くの時間を与えることができます。ただし、javascript の複雑さが増すにつれて、遅延が増加していることに気づき、信頼できる代替手段を探しています。
このライブラリ自体が代替に関係していることが起こります。の使用はsetTimeout
、他の選択肢が見つからない場合にのみ考慮さ process.nextTick()
れます。BrowserMutationObserver
Webkit 用。vertxTimer
(Javaの場合?); MessageChannel
Web ワーカー向け。
私の質問は、.NETタイマーの非同期呼び出しとは対照的に、イベントループの次の機会にコールバックを実行し、同期を維持できるようにするこれらの概念に似たものをジント(ジントできますか)に公開しますか?
wpf - JINTはTypeScriptをサポートしていますか
Java スクリプト関数を作成し、Jint を使用して WPF アプリケーションから呼び出す必要があります。
Typescript は主にオプションの静的型付け、クラス、およびインターフェイスを提供する JavaScript のスーパーセットであるため、Typescript に移行したいと考えています。
Jintでjavascriptの代わりにTypeScriptを使用することは可能ですか? もしそうなら、何か課題はありますか?
前もって感謝します。
javascript - C# Jint 値を JavaScript 変数に設定する
javascript 変数に値を割り当てる必要があります
この例では、値を返す必要があります。
1° まず、簡単な関数を登録します
この場合、C# 関数から値を返そうとしますが、メソッドを実行した後、画面に「null」値が表示されます。
誰にもアイデアがありますか?
c# - JINT で Javascript コールバックから JSON を渡す
開発者が JavaScript を介してビジネス ルール トリガーを拡張できるようにするライブラリがあります。基本的に、開発者 (JavaScript) がイベントをサブスクライブし、デリゲートを「これが発生したら電話してください」として渡すことができる関数があります。
私はこれを正常に行うことができますが、関数が JSON または JavaScript オブジェクトを C# レイヤーに戻そうとすると問題が発生します。
基本的に、コードは次の単体テストのように機能します。
C# 変数の "result" に、データを含む JsValue またはその他のオブジェクトを含めることができるようにしたいと思いますが、メソッドは例外をスローします。最後の行に IConvertable を実装する必要があります。
「コールバック」が適切なタイプのデリゲートに設定されていることを確認できます: Jint.Native.JsValue lambda_method(System.Runtime.CompilerServices.Closure, System.String)}
また、NULL を返せば問題はありません。私はいくつかの小さな(私がそれを理解したらヘッドバン)欠けている部分があると確信しています...
c# - ジントが呼び出す純粋なclrコードをどのように遅くしていますか
私は最終的にこれを信じられないほど単純なテストに落とし込みました (500,000 行の巨大なシステムから)。このテストアプリを実行すると
私はこれを得る
唯一の違いは、最初の Foo 呼び出しが jint によって呼び出され、2 番目の呼び出しが直接呼び出されることです。Foo のループに含まれる jint/js/ などはありません。jint 経由で呼び出すと、コードの実行に 2 倍から 3 倍の時間がかかります!
ジントが何かを環境に挿入したように感じますが、スタックにあると速度が低下しますが、何がわかりません。いくつかの CAS 呼び出しがあり、私はそれらを取り出しましたが、違いはありませんでした。私は困惑しています。
CASのような気がしますが、一貫して動作させることはできません。
javascript - CSharp の JavaScript「パック」関数
(p,a,c,k,e,d)
JavaScript から難読化された関数があります。
jint
上記の値を解釈して取得するために使用しようとしていますがfunction
、そのステートメントを実行するとjint engine
、例外がスローされjwplayer is not defined
ます。
例外がスローされる理由はわかっていますが、上記の値のみを取得したいですp
。しかしjint
、関数全体を実行すると、存在しない空の関数になり、実行しようとすると例外がスローされます。
文字列で値を返すだけで、それ以上実行しないでください。私はすでに答えを検索しようとしましたが、これまでのところ何も見つかりませんでした。
私は次のようにコードを使用しています:
私がここに欠けているものはありますか?誰かがそれに光を当てることができれば。それは非常に高く評価されます。ありがとう