爲了便於解釋'then'的含義,有誰能告訴我這段代碼中發生了什麼嗎?在ReactJS中使用'then'
fetchComments().then(response => {
this.setState({
comments: response.comments
});
});
爲了便於解釋'then'的含義,有誰能告訴我這段代碼中發生了什麼嗎?在ReactJS中使用'then'
fetchComments().then(response => {
this.setState({
comments: response.comments
});
});
fetchComments
返回承諾(可能是,它可能只是一個 「thenable」 *)。承諾是在稍後的時間點(通常爲**)解決或拒絕的。 then
用於連接將在解析承諾時調用的處理函數(並且可以選擇何時拒絕,如果將第二個函數傳遞到then
;否則將使用catch
)。
在這種情況下,該代碼說,當/如果承諾通過fetchComments
做出決議回,使用分辨率值的comments
財產使用的分辨率值的陣營組成的set the state。
更多關於承諾this MDN article和the Promises/A+ spec。
*請參閱承諾/ A +規範什麼是「可容納」。
**如果你在一個承諾,就是已經解決或拒絕使用then
,你在JavaScript中的原生的承諾,你的處理器將仍然被異步調用保證。對於一些早期的類似promise的實現來說,情況並非總是如此,它們會異步地調用您的回調(如果承諾尚未解決)或同步(如果是),這是......混亂且無益的。 JavaScript的本地承諾和任何真正的好承諾庫保證一致的回調行爲。
功能fetchComments「會獲取數據,並返回一個承諾然後給他們陳述意見:)。但我認爲你應該閱讀他的^^。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/然後 –
我在這裏問,因爲我從那裏不明白。 –
文檔的哪一部分不清楚?無論如何,要求查找教程的問題都是SO的主題。 –