Q.js promise tests

by winstonchang

HTML

<script src="http://cdnjs.cloudflare.com/ajax/libs/q.js/1.1.2/q.js"></script>

JavaScript

Q.fcall(incLogPrint, 1)
    .delay(1000)
    .then(incLogPrint)
    .delay(1000)
    .then(incLogPrint);


function incLogPrint(x) {
    log(x);
    x = x+1;
    return x;
}


function log(args) {
    var str = "";
    for (var i = 0; i < arguments.length; i++) {
        if (typeof arguments[i] === "object") {
            str += JSON.stringify(arguments[i]);
        } else {
            str += arguments[i];
        }
    }
    var div = document.createElement("div");
    div.innerHTML = str;
    var target = log.id ? document.getElementById(log.id) : document.body;
    target.appendChild(div);
}

function logp(args) {
    var str = "";
    for (var i = 0; i < arguments.length; i++) {
        if (typeof arguments[i] === "object") {
            str += JSON.stringify(arguments[i]);
        } else {
            str += arguments[i];
        }
    }
    var div = document.createElement("div");
    div.textContent = str;
    var target = log.id ? document.getElementById(log.id) : document.body;
    target.appendChild(div);
}