WiseLoop JavaScript Network Speed Tester 2.1.2
JavaScript Bandwidth Checker
Measuring Download Speed

Now, we will get some information regarding download speed: payload size, download time and actual download speed.

<html ng-app="demo-app" ng-controller="demoAppController">
        <script type="text/javascript" src="../bins/lib/angular/angular.min.js"></script>
        <script type="text/javascript" src="../bins/wl-ng-network-speed-tester.js"></script>
        <script type="text/javascript">
            //must set the bins url
            angular.module('wl-ng-network-speed-tester').value('bins', '../bins');

            //create an AngularJS module with a dependency to our bandwidth tester
            var demoApp = angular.module('demo-app', ['wl-ng-network-speed-tester']);
            //declare a controller with a dependency on network speed tester service (wlNgNSTService)
            demoApp.controller('demoAppController', function(wlNgNSTService) {
                //call the download method of the service
                .then(function(data) {
                    //on success display the download payload size, time and speed
                    alert('Payload: ' + data.size + ' bytes\n' + 'Time: ' + data.time + ' seconds\n' + 'Speed: ' + data.speed + ' bps');
                }, function(error) {
                    //on error ...

The code above is pretty much similar with the one from ping; we call wlNgNSTService.download() method to retrieve raw download speed data measurements.

Network speed test download raw data
Please note that the the directive will call this service method multiple times (see iteration attribute) and will offer an average result increasing the accuracy of the measurement.