function success(position){
var cords = position.coords;
console.log(coords.latitude + coords.longitude);
}
function error(err){
console.warn(err.code+err.message)
}
navigator.geolocation.getCurrentPosition(success, error);
async1(function(){
async2(function(){
...
asyncN(null, null);
...
}, null)
}, null)
var counter = N;
function success(){
counter--;
if(counter === 0){
alert('done');
}
}
async1(success);
async2(success);
...
asyncN(success);
async(function(value){
myFirstDeferred.resolve(value);
}, function(errorReason){
myFirstDeferred.reject(errorReason);
})
var myFirstPromise = myFirstDeferred.promise;
myFirstPromise
.then(function(data){
}, function(error){
})
var anotherDeferred = $q.defer();
anotherDeferred.promise
.then(function(data){
},function(error){
})
//调用异步方法
async(anotherDeferred.resolve, anotherDeferred.reject);
anotherDeferred.promise
.then(function(data){
}, function(error){
})
function getData(){
var deferred = $q.defer();
async(deferred.resolve,deferred.reject);
return deferred.promise;
}
//deferred的promise属性记录了达到resolved, reject状态所需要执行的success和error方法
var dataPromise = getData();
dataPromise
.then(function(data){
console.log('success');
}, function(error){
console.log('error');
})
dataPromise
.then(function(data){
console.log('success');
})
dataPromise
.then(null, function(error){
console.log('error');
})
或
dataPromise.catch(function(error){
console.log('error');
})
var finalCallback = function(){
console.log('不管回调成功或失败都返回这个结果');
}
function async(value){
var deferred = $q.defer();
var result = value / 2;
deferred.resolve(result);
return deferred.promise;
}
var promise = async(8)
.then(function(x){
return x+1;
})
.then(function(x){
return x*2;
})
promise.then(function(x){
console.log(x);
})
function async1(value){
var deferred = $q.defer();
var result = value * 2;
deferred.resolve(result);
return deferred.promise;
}
function async2(value){
var deferred = $q.defer();
var result = value + 1;
deferred.resolve(result);
return deferred.promise;
}
var promise = async1(10)
.then(function(x){
return async2(x);
})
promise.then(function(x){
console.log(x);
})
function logValue(value){
console.log(value);
}
async1(10)
.then(async2)
.then(logValue);
async1() .then(async2) .then(async3) .catch(handleReject) .finally(freeResources);
var promise = async().then(function(value){
if(true){
return value;
} else {
return $q.reject('value is not satisfied');
}
})
function getDataFromBackend(query){
var data = searchInCache(query);
if(data){
return $q.when(data);
} else {
reutrn makeAasyncBackendCall(query);
}
}
var allPromise = $q.all([
async1(),
async2(),
...
asyncN();
])
allProise.then(function(values){
var value1 = values[0],
value2 = values[1],
...
valueN = values[N];
console.log('all done');
})
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有