• AngularJS中处理多个promise


    在使用AngularJS中处理promise的时候,有时会碰到需要处理多个promise的情况。

    最简单的处理就是每个promise都then。如下:

    var app = angular.module("app",[]);
    
    app.controller("AppCtrl", function($q. $timeout){
        var one = $q.defer();
        var two = $q.defer();
        var three = $q.defer();
        
        $timeout(function(){
            one.resolve("one done");
        }, Math.random() * 1000)
        
        $timeout(function(){
            two.resolve("two done");
        }, Math.random() * 1000)  
        
        $timeout(function(){
            three.resolve("three done");
        }, Math.random() * 1000)    
        
        functioin success(data){
            console.log(data);
        }
        
        one.promise.then(success);
        two.promise.then(success);
        three.promise.then(success);
    })

    有没有更好的方式?

    $q.all方法可以接受promise的一个数组,按如下调用:

    var all = $q.all([one.promise, two.promise, three.promise]);
    all.then(success);

  • 相关阅读:
    格式与布局 float 左右悬浮边框
    格式与布局
    样式表
    c# 验证码
    邮箱登录页面
    表单与框架
    HTML 练习 做简历表
    HTML 基础
    验证码 随机数
    Linux 三剑客 -- awk sed grep
  • 原文地址:https://www.cnblogs.com/darrenji/p/5176683.html
Copyright © 2020-2023  润新知