2017-10-16 3 views
0

node.jsのqモジュールを使用して休憩をとり、非同期的にデータを取得していますが、私が知りたいのは、メソッドを呼び出してそのデータを関数に渡します。Node.js qモジュール - その後関数を使用する

私はdefer.promise返されたgetData(と呼ばれる機能)を持っていた、と私はこのようなその約束を取得する変数を設定している場合たとえば、 -

var promise = getData(); 

を私は

を使用することができます知っています
promise.then(console.log, console.error); 

、それは私が残りのコールが

から取得したデータを出力しますが、どのように私は例えば、sortData(データ)と呼ばれる関数にそのデータを渡すことができますか?

promise.then(sortData(data), console.error); 

これはどのように行うのですか?または私は前と同じことをしなければならず、延期を使って非同期関数を続けていなければなりませんか?それでは?私は、非同期的に取得したデータを、その関数の入力として関数に渡す方法がわかりません。

何か助けていただければ幸いです。成功コールバックとエラーコールバック -

答えて

2
promise.then(sortData, console.error); 

qthenは、引数として、2つのコールバック関数を受け入れます。

+0

ありがとうございます!コールバック関数sortDataを呼び出すと、非同期的に取得したデータにアクセスする方法を教えていただけますか?私は残りのGETリクエストを行い、データをjsonとして解析し、then.function(response){defer.resolve(response)でしたので、promise.then(sortData、console.error)を使用すると、どのようにアクセスできますかjson inside sortData? – Chase

+0

'sortData'関数の最初の引数としてそのデータを取得します。 – dashmug

+0

大変感謝しています。もう少し簡単な質問をしても構わないのですが、その関数の他の引数を受け入れる場合はどうすればいいですか? sortData(data、dataType)...関数のように、最初の引数には自動的に約束から渡されたデータがあります...どのように2番目の引数dataTypeにいくつかの変数を渡すことはできますか? (データ、データ型);}、console.error); – Chase

関連する問題