私はコールバック地獄の世界には新しく、ちょっと立ち往生しています。私はいくつかの分析作業をしています。そのため、関数が呼び出されるたびにrequest.post関数を呼び出し、私たちのサーバ上でリクエストを記録します。しかし、これらのオリジナルの関数では、request.getがいくつかの情報を返すようになっています。だから、私は本質的に、それを要求しなければならない別の関数の中で要求を行う関数を呼び出しています。今何が起こっているNodejsリクエストのあとにリクエスト同期の問題があります
function myFunction(x, y, callback) {
// variable declarations
postFunction(a, b);
// other logic for the function
request.get(url, function(error, response, body) {
// request code here
callback(somedata, otherFunctionThatDoesntMatterHere(blah));
});
}
function postFunction(a, b) {
// other logic for the function
var dataToSend = "XML HERE";
request.post({
url: url,
body: dataToSend,
headers: {'Content-Type' : 'text/xml'},
function(error, response, body) {
if (error) {
console.log(error);
}
else if (response.statusCode !== 200) {
console.log('Invalid Status Code Returned:', response.statusCode);
}
else if (!error && response.statusCode == 200) {
console.log('POST RESPONSE: ', body);
}
}
);
}
ポスト機能が」doesnのことをされています。コード自体はので、ここで易しく書き直さダウンバージョンですが、私は今説明したよりも(私は長いと迷惑な意味、そして複雑で)多くの、より複雑ですmain関数の最後の前に戻ります。私はこれがノードの非同期性の一部であることを知っていますが、これらを同期して実行したいと思います。私はかなり私はポスト関数にコールバックを追加することでこれを解決することができると確信していますが、私はどのようにわからない。私はいろいろなアプローチを試みましたが、私はこれがどのように機能するか完全に理解していません。あなたが提供できるあらゆる助けをありがとうございます!
私はこれとほぼ同じである私の解決策を投稿する文字通り程度でした。私はこの最初の笑を見たかった。ありがとうございました:) – redcastle
母、問題ありません! – AdmanStrong