1
這是我做的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的新關鍵字。
問:我讀這個權利,我不再需要回調和承諾?我可以按照以前的方式直接寫同步代碼?我如何使用await關鍵字重寫上述示例?
其實,編寫* *任何代碼都到了'done'部分成功時,*或*去當有異常的'fail'部分,是挺難以同步方式寫入。 – Bergi
你不必*使用'async' /'await'(尤其是當想要支持舊瀏覽器時)。寫簡單的承諾代碼就好了。 – Bergi
如果我願意忽略'失敗'並使用try/catch它呢? –