비동기 콜백은 훌륭하지만 하나의 콜백이 다른 콜백의 결과에 의존 할 때 콜백이있는 API 호출과 콜백이 있습니다.JavaScript의 비동기 프로그래밍 입문. 어떤 충고?
apiCall(function() { apiCall(function() { apiCall(function() ...
인라인을 포함하지 않고 콜백 함수의 이름을 지정할 수 있습니다. 그것은 더 예쁘게 보이고 둥지가 적지 만 읽는 것이 더 쉽지는 않습니다.
다음은 예입니다. 로컬 sqlite 데이터베이스를 쿼리하고 결과를 사용하여 서버를 쿼리 한 다음 응답을 사용하여 로컬 데이터베이스를 업데이트해야합니다.
function sync() {
db.transaction(
function (transaction) {
execute(transaction, 'SELECT max(server_time) AS server_time FROM syncs;', [],
function (transaction, results) { // Query results callback
var t = results.rows.item(0).server_time;
$.post('sync.json', { last_sync_time: (t || '1980-01-01') },
function (data) { // Ajax callback
db.transaction(
function(transaction) {
$(data.thing).each(function() {
var thing = new Thing(this.thing);
thing.insert(transaction);
});
});
});
});
});
}
콜백의 이름을 지정하는 것 외에 다른 방법으로이를 언텝 할 수 있습니까?