[英]How to use javascript promises ES6 instead of jQuery ajax call?
我試圖了解Promise如何在javascript中工作,但我沒有找到明確的信息,我想知道是否有可能,因此如何使用Promise代替此代碼(等效)
$.ajax({
type: 'post',
cache: false,
url: 'myfile.php',
data: { info: info },
datatype: 'json',
success: function(response) {
console.log(response);
}
});
我之所以這樣問是因為我只想使用沒有任何框架或插件的javascript,就此而言,我對ES6的其他新功能沒有任何疑問,希望您能對我有所幫助,謝謝。
您必須使用實例化並返回Promise的函數包裝ajax調用:
function getSomething() { return new Promise((resolve, reject) => { $.ajax({ type: 'post', cache: false, url: 'myfile.php', data: { info: info }, datatype: 'json', success: function(response) { resolve(response); }, error: function() { reject("some errors"); } }); }); }
然后,您將如下兌現承諾:
getSomething()
.then(response => console.log(response))
.catch(err => console.log(err));
你可以這樣
function doAjax() {
return $.ajax({
type: 'post',
cache: false,
url: 'myfile.php',
data: { info: info },
datatype: 'json',
});
}
doAjax.then(function(data) {
// do success stuff
}).fail(function() {
// do fail stuff
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.