这就是我进行 ajax 调用的方式:
$(document).on('click','#doit',clicked)
clicked = function() {
var local = {}
local.type = 'post'
local.dataType = 'json'
local.data = {}
local.data.myid = 1234
var promise = $.ajax('myPage.cfm',local)
promise.done(done)
promise.fail(fail)
function done(response) {
}
function fail(xhr,status,response) {
$('body').html(xhr.responseText)
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
在此示例中,done
和 fail
是回调。
但我读到this article一个名为await 的新关键字。
问:我没读错吗?我不再需要引用回调和 promise ?我可以像以前那样直接编写同步代码吗?如何使用await关键字重写上面的示例?
最佳答案
init()
async function init() {
var form = {}
form.type = 'post'
form.dataType = 'json'
form.data = {}
form.data.myid = 1234
try {
var ok=true
var promise = await $.ajax('myPage.cfm',form)
} catch(xhr) {
console.log(xhr.responseText)
ok=false
}
if (ok) {
console.log(promise)
}
}
关于javascript - 使用await关键字来模拟同步编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43527655/