問題タブ [when-js]
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 - when/node を使用して Amazon S3 関数を promise に変換する際のエラー
AWS S3 非同期関数を持ち上げようとしていますが、奇妙なエラーが発生します。次のコードを考えると、
このエラーが発生します。
通常は次のgetObject
ようになります (Promise の代わりにコールバックを使用すると問題なく動作します)。
私は誤用していnodefn.lift
ますか?それはかなり簡単に思えます。ここに興味のある人のためのドキュメントがあります。https://github.com/cujojs/when/blob/master/docs/api.md#nodelift
node.js - when/node liftAll が s3 オブジェクトで機能しない
を使用して、Amazon S3 オブジェクトのすべての関数を持ち上げようとしていますwhen/node
。
ただし、リクエスト オブジェクトが出力されているようです。ここで何が起こっているのか途方に暮れています。次のように関数を個別に持ち上げると、正しい結果を得ることができます。
何か案は?
javascript - さまざまな戻り値が必要な場合のプロミスの使用方法
私は約束を使用し、正しく動作しているこの関数を持っています:
ご覧のとおり、すべての関数は、next 関数で使用する必要がある値を返します。しかし、さまざまな戻り値を集計する必要もあります。これらは parse 関数が返す値だからです。removeExtermePoints はオブジェクトを返します!
解析関数をリファクタリングする途中で、どうすればよいかわからないときに subFunctions も promise を使用できるようにしました。私が持っていたコードは基本的に次のように見えました:
質問1
単一の戻り値への参照はもうありません。最初のプロミスに渡すオブジェクトを使用して、次のすべてにプッシュし続け、値を追加して返すことができると思いますが、それが私が持っていたものに到達する良い方法であるかどうかはわかりません最初のスニペットで気になりませんか?
質問2
removeExtremePoints
入力として要素を取り、私はそのように保ちたいです。resolve(3, result)
で使用できると思いますcreateCoordinateAndRGBObjects
か?私は本当にこれが好きではありません。なぜなら、突然、関数createCoordinateAndRGBObjects
がどのように実行したいかを決定するからですremoveExtremePoints
。むしろ、パースボディでパラメーターを定義したいと思います。
また、ある時点で何かを変更した場合、その後の約束は別のユースケース向けでcreateCoordinateAndRGBObjects
はない可能性があります。removeExtremepoints
どうすればいいですか?
javascript - Promise: 進行状況の更新回数が不明な場合の進行状況のリファクタリング
プロミス ハンドラーは、いくつかの主要な promise ライブラリ ( Q、When、Bluebird ) で廃止され、新しいPromises/A+ 仕様からも削除されました。プログレス イベントを廃止する理由は理解できますが、慣れ親しんだ次のパターンをリファクタリングするのに苦労しています。
コードのリファクタリングの例が Web のいたるところに出てくるのを見てきましたが、これらすべての例では、進行状況の更新の数が事前にわかっているようです。上記のパターンでは、発行される進行状況の更新の数は無期限です。
プログレスイベント/ハンドラーを使用せずに上記のパターンを実装するのを手伝ってくれる人はいますか?
javascript - JSファイルからnullを返すかどうかに応じて、XSLファイルでテーブル行を非表示および表示する方法
コンテンツは、enhanceddetails が宣言されている JavaScript 関数から抽出され、ノード タイプでフェッチされます。
XSL ファイル
javascript - カスケード プロミス
単純な約束を超えるものは、たいてい当惑します。この場合、N 個のオブジェクトに対して連続して 2 つの非同期呼び出しを行う必要があります。まず、ディスクからファイルをロードし、そのファイルをメール サーバーにアップロードする必要があります。私は 2 つのアクションを一緒に実行することを好みますが、すべての読み取りを最初に実行し、次にすべてのアップロードを実行することで機能するようになりました。以下のコードは機能しますが、もっとうまくできると思わずにはいられません。私が理解できないことの 1 つは、なぜ when.all が拒否しないのかということです。ドキュメントの私の解釈は、約束の1つが拒否された場合、.allが拒否されることを暗示しているようです。エラーをテストするために、下位の解決をコメントアウトしました。エラーがなければ、問題なく動作し、理にかなっているように見えます。