関数の呼び出し元(サービスのユーザー)は、関数が生成する情報で何かをしたい場合に使用することができます。彼はそれが終わったときに気にしなければ、いつかやり遂げられる限り、インフラストラクチャーなしで機能を呼び出すことができます。関数は約束を返すことができますか?
これは機能しますか?私はテストでうまくいく状況にはなりたくないが、あまり頻繁に起こらないような不明確な状況では、失敗するだろう。
Hmm。私はこれが何を意味するかと思います。私は約束を返すルーチンを書いていた場合、私が言っている:
return new Promise(function (resolve, reject) { ... });
を私の呼び出し側は言っていない場合は、次の
.then(function() { ... }, function() { ... });
何が起こるのだろうか?私はある時点でresolve()またはreject()を呼び出し、解決と拒否は定義されません。 Promiseコンストラクタはデフォルトの(何もしない)定義を提供していますか?
私は私が狂った人だ場合、私は私の呼び出し先関数の中で言うことができると仮定します
(resolve || function() {})();
私はフォローしていません。関数から必要なものを返すことはできますが、非同期操作が必要な場合は、常に約束を返す必要があります。関数の戻り値を使用する必要があるかどうかを確認するには、答えは「いいえ」です。しかし、操作が完了したという保証はありません。 –
?呼び出し元は、戻り値で何かを行うかどうかを常に決めることができます。しかし、被告人はそれを知らない。 –
私は、約束を返す非同期関数を実行し、解決にコードを追加することなくその作業を行うことができるかどうかという問題があると思います。答えは「はい」です。ただし、完了したことが確実でない限り、非同期機能が動作することを確実にテストすることはできません。 – danh