承諾和AJAX調用都是異步操作。兩者都可以進行GET/POST請求。 < < 編輯:這是一個錯誤的說法Promise和AJAX有什麼區別?
那麼它們之間有什麼區別?什麼時候最好使用一個而不是另一個?
此外,還有一兩件事:
最近我遇到了一個承諾,其中有一個AJAX在它的身上。爲什麼在異步操作中放置異步操作?這就像把麪包放在麪包三明治裏。
編輯:我的道歉不早提供一個例子:
function threadsGet() {
return new Promise((resolve, reject) => {
$.getJSON('api/threads')
.done(resolve)
.fail(reject);
})
}
jQuery是用在這裏。 AJAX調用具有Promise行爲和屬性。我沒有早點得到,但這裏是我的想法: 我們可以在Promise中做點什麼。然後使用AJAX調用並在done
函數中傳遞已解析的Promise邏輯。特別是在這個例子中沒有。
現在我明白了我對兩者的困惑。他們幾乎是兩件不同的事情。僅僅因爲它們是異步的,並不意味着它們是可以互換的。
==============
編輯2:只是一些材料,我發現有用:
能否請您澄清當你說你可以用_promise_做出GET/POST請求時,你的意思是什麼? –
承諾本身沒有制定GET/POST請求的機制。也許閱讀[Promises文檔](http://stackoverflow.com/documentation/javascript/231/promises/846/introduction#t=201609281521002304613)? –
Promise是用於異步操作的*接口*。 ajax請求是一個非常特定的異步操作。 – Bergi