0
如何實現承諾的功能,所以我可以擺脫超時,如果它甚至有可能?我正從工廠的一些數據「普里姆」,函數查找的喜歡:函數的承諾,angularjs
$scope.getPre = function(id){
var url = WEB_API.MainUrl + '/api/prim/' + id +'/' + $window.sessionStorage.getItem('idsom');
Prim.getprim(function(data) {
$scope.prim1 = data;
$scope.prim = $scope.prim1[0];
}, url);
$scope.$apply();
}
,我想擺脫掉超時:
setTimeout(function() { // it can't work without timeout
$scope.getPre($routeParams.idprim);
}, 100);
使用回調,它會更清潔 –
只有選項是承諾,有更多的超時項目,我必須改變承諾,如果我使用回調它將是不可讀和更復雜 – Mark
var promise = new Promise( (res,rej)=> {foo(/ * callback */res); (')=>/*其中'foo'是異步的東西,你需要等待一個回調,然後在代碼的其他地方,你有'setTimeout's而不是'promise.then(()=>/*。 .. * /);' –