Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何定义4个函数来适应这两个测试(javascript/q)_Javascript_Node.js - Fatal编程技术网

如何定义4个函数来适应这两个测试(javascript/q)

如何定义4个函数来适应这两个测试(javascript/q),javascript,node.js,Javascript,Node.js,当我发现的时候,我发现在它的描述中,有这样的演示代码: step1(function (value1) { step2(value1, function(value2) { step3(value2, function(value3) { step4(value3, function(value4) { // Do something with value4 console.log("

当我发现的时候,我发现在它的描述中,有这样的演示代码:

step1(function (value1) {
    step2(value1, function(value2) {
        step3(value2, function(value3) {
            step4(value3, function(value4) {
                // Do something with value4
                console.log("finised: " + value4)
            });
        });
    });
});

我想知道,如何定义4个函数
step1/step2/step3/step4
来适应这两个测试

我试过:

function step1(callback) { console.log("step1"); return "abc"; };
function step2(str, callback) { console.log("step2"); return str; };
function step3(str, callback) { console.log("step3"); return str; };
function step4(str, callback) { console.log("step4"); return str; };

希望它能打印:

step1
step2
step3
step4
finised: abc
step1
step2
step3
step4
finised in q: abc

但两者都不起作用。

您可以通过回调返回


function step1(callback) { console.log("step1"); callback("abc"); };
function step2(str, callback) { console.log("step2"); callback(str); };
function step3(str, callback) { console.log("step3"); callback(str); };
function step4(str, callback) { console.log("step4"); callback(str); };

很抱歉,这不起作用:
step1 step2 step3 step4 finished:abc step1 err:TypeError:undefined不是函数
如果回调不是函数,则未正确设置
step1
step2
step3
step4
finised: abc
step1
step2
step3
step4
finised in q: abc

function step1(callback) { console.log("step1"); callback("abc"); };
function step2(str, callback) { console.log("step2"); callback(str); };
function step3(str, callback) { console.log("step3"); callback(str); };
function step4(str, callback) { console.log("step4"); callback(str); };