2017-10-19 3 views
0

私はpromise関数を使用してXHRを約束しています。応答の取得方法を知り、応答が成功した場合はサーバーに返信します。プロビジョニングコンストラクタを使用してサーバーに値を返す

このcreateChannelが成功した場合、私はこの

function createChannel(method, url) { 
    return new Promise(function (resolve, reject) { 
     xhr.open(method, url, true); 
     xhr.setRequestHeader("Content-Type", "application/json"); 
    xhr.onload = function() { 
     if (xhr.readyState == 4) { 
      var hashValue = resolve(JSON.parse(xhr.responseText)); 
      console.log(hashValue); 
     } 
     else { 
      reject({ 
       status: this.status, 
       statusText: xhr.statusText 
      }); 
     } 
    }; 
    xhr.onerror = function() { 
      reject({ 
       status: this.status, 
       statusText: xhr.statusText 
      }); 
     }; 
    xhr.send(json); 
}); 
} 
createChannel(method, url) 
    .then(function (datums) { 
    console.log(datums) 
}).catch(function (err) { 
    console.error('Sorry There Was An Error!', err.statusText); 
}); 

ような何かをやっている、私は、ハッシュ値の変数を取るのが好き、そして新しい値を取得するには、サーバーへのリクエストを行います。

.then(function (createChannel) { 
    console.log(createChannel);  
}); 

これは約束どおり可能ですか? アドバイスありがとうございます。あなたの.then()ハンドラ内

+0

それは不明であるものを意味し、「もう一度それを送信」?解決された約束を得て、 '.then()'ハンドラで 'datums'値を取得すると、その時点で何をしたいですか? – jfriend00

+0

こんにちは@ jfriend00私の言葉の選択について申し訳ありません、私はサーバー/ URLに私は解決された約束を得る新しいリクエストをしたいと思います。 ハッシュ変数をとり、新しい投稿要求を作成したい – PythonRookie

+0

OK、私は私の答えでそれを示しました。 – jfriend00

答えて

1

、あなただけの、新しい要求を発行し、その約束を返す最初にそれを連鎖:

createChannel(method, url).then(function (datums) { 
    console.log(datums); 
    // call some other async function here that returns a promise 
    return someOtherFunctionThatReturnsAPromise(datums); 
}).then(function(finalResult) { 
    console.log(finalResult);   
}).catch(function (err) { 
    console.error('Sorry There Was An Error!', err.statusText); 
}) 
+0

ありがとう、これは私が混乱していたようだった、私はこれを試して、それが動作するかどうかを確認します。 – PythonRookie

+0

こんにちは@ jfriend00、知りたいのは、createchannelはすでにhashvalue変数の値を保持していますか? 私はすでに知っているはずの愚かな質問をしているのか分かりません。助けをありがとう – PythonRookie

+0

私はそれを考え出した、ありがとう。 – PythonRookie

関連する問題