タグ付けされた質問 「q」

2
明示的なプロミスコンストラクションアンチパターンとは何ですか?
私は次のようなことをするコードを書いていました: function getStuffDone(param) { | function getStuffDone(param) { var d = Q.defer(); /* or $q.defer */ | return new Promise(function(resolve, reject) { // or = new $.Deferred() etc. | // using a promise constructor myPromiseFn(param+1) | myPromiseFn(param+1) .then(function(val) { /* or .done */ | .then(function(val) { d.resolve(val); | resolve(val); }).catch(function(err) …

10
コールバックだけを約束しませんか?
私はJavaScriptを数年開発しており、約束についての大騒ぎをまったく理解していません。 私がすることはすべて変更であるようです: api(function(result){ api2(function(result2){ api3(function(result3){ // do work }); }); }); とにかく、私はasyncのようなライブラリを使用できます: api().then(function(result){ api2().then(function(result2){ api3().then(function(result3){ // do work }); }); }); どちらがより多くのコードであり、読みにくくなります。ここでは何も得られませんでしたが、突然魔法のように「フラット」になったわけでもありません。言うまでもなく、物事を約束に変換する必要があります。 では、ここでの約束についての大騒ぎは何ですか?


5
then()からの戻り値またはPromise.resolveの違いは何ですか
違いは何ですか: new Promise(function(res, rej) { res("aaa"); }) .then(function(result) { return "bbb"; }) .then(function(result) { console.log(result); }); コードスニペットを実行する結果を非表示スニペットを展開 この: new Promise(function(res, rej) { res("aaa"); }) .then(function(result) { return Promise.resolve("bbb"); }) .then(function(result) { console.log(result); }); コードスニペットを実行する結果を非表示スニペットを展開 .then()のチェーニングでAngularと$ httpサービスを使用して異なる動作を取得しているので、質問しています。少しコードが多すぎるため、最初に上記の例を使用します。

27
約束を次々に解決しますか(つまり、順番に)?
ファイルの配列をシリアル/シーケンシャルに読み取る次のコードを考えてみます。readFilesすべてのファイルが順番に読み込まれたときにのみ解決されるpromiseを返します。 var readFile = function(file) { ... // Returns a promise. }; var readFiles = function(files) { return new Promise((resolve, reject) => var readSequential = function(index) { if (index >= files.length) { resolve(); } else { readFile(files[index]).then(function() { readSequential(index + 1); }).catch(reject); } }; readSequential(0); // Start! }); }; 上記のコードは機能しますが、物事が連続して発生するために再帰を実行する必要はありません。奇妙なreadSequential関数を使用する必要がないように、このコードを簡単に書き直す方法はありますか? …

1
ES6のプロミスがあるため、QやBlueBirdなどのプロミスライブラリを使用する理由はまだありますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する Node.jsがpromiseのネイティブサポートを追加した後も、QやBlueBirdなどのライブラリを使用する理由はまだありますか? たとえば、新しいプロジェクトを開始していて、このプロジェクトでこれらのライブラリを使用する依存関係がないと仮定すると、そのようなライブラリを使用する理由は本当にないと言えますか?

3
Angularjs $ q.all
angularjsに$ q.allを実装しましたが、コードを機能させることができません。これが私のコードです: UploadService.uploadQuestion = function(questions){ var promises = []; for(var i = 0 ; i < questions.length ; i++){ var deffered = $q.defer(); var question = questions[i]; $http({ url : 'upload/question', method: 'POST', data : question }). success(function(data){ deffered.resolve(data); }). error(function(error){ deffered.reject(); }); promises.push(deffered.promise); } return $q.all(promises); } そして、これがサービスを呼び出す私のコントローラーです: uploadService.uploadQuestion(questions).then(function(datas){ …
105 angularjs  promise  q 

1
Angular $ q。はどのように機能しますか?
$q.whenAngularJSでどのように機能するかを誰かが私に説明できますか?私はどのように$http機能するかを分析しようとしていて、これを見つけました: var promise = $q.when(config); そして、これがChromeコンソールの設定オブジェクトです: Object {transformRequest: Array[1], transformResponse: Array[1], cache: Object, method: "GET", url: "/schedule/month_index.html"…} cache: Object headers: Object method: "GET" transformRequest: Array[1] transformResponse: Array[1] url: "/schedule/month_index.html" __proto__: Object 次は何が起こる?このオブジェクトはどのように解決または拒否されますか?
95 angularjs  deferred  q 

8
Node.jsでのコールバックのPromiseへの置き換え
データベースに接続するシンプルなノードモジュールがあり、この関数など、データを受信するためのいくつかの関数があります。 dbConnection.js: import mysql from 'mysql'; const connection = mysql.createConnection({ host: 'localhost', user: 'user', password: 'password', database: 'db' }); export default { getUsers(callback) { connection.connect(() => { connection.query('SELECT * FROM Users', (err, result) => { if (!err){ callback(result); } }); }); } }; このモジュールは、別のノードモジュールから次のように呼び出されます。 app.js: import dbCon from './dbConnection.js'; dbCon.getUsers(console.log); …

9
約束から複数の値を適切に返すにはどうすればよいですか?
最近、特定の状況に何度か遭遇しましたが、適切に解決する方法がわかりませんでした。次のコードを想定します。 somethingAsync() .then( afterSomething ) .then( afterSomethingElse ) function afterSomething( amazingData ) { return processAsync( amazingData ); } function afterSomethingElse( processedData ) { } 私がアクセスしたいでしょう今どこ状況が生じる可能性があるamazingDataではafterSomethingElse。 明らかな解決策の1つはafterSomething、から配列またはハッシュを返すことです。これは、関数から返すことができる値は1つだけだからです。しかしafterSomethingElse、2つのパラメーターを受け入れて同様に呼び出す方法があるかどうか疑問に思っています。これは、文書化して理解するのがはるかに簡単なようです。 私がQ.spread望んでいるのと同じようなことをするがあるので、私はこの可能性についてだけ疑問に思っています。
86 javascript  promise  q 

5
Angular $ qpromiseが解決されたかどうかを確認する方法
通常、then()promiseを使用する場合は、呼び出しとチェーンの動作を伴う継続コードを添付するだけであることを理解しています。 ただし、プロミスでラップされた非同期呼び出しを開始してから、3秒を個別に開始して$timeout()、元のプロミスがまだ完了していない場合にのみUIアクションを実行できるようにします。(これは、低速接続、3G上のモバイルデバイスなどでのみ発生すると予想されます) 約束が与えられたら、ブロックしたり待ったりせずに、それが完了したかどうかを確認できますか?
84 angularjs  promise  q 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.