代码之家  ›  专栏  ›  技术社区  ›  R. Kohlisch

是否将NodeJS readline保存到变量中?[重复]

  •  0
  • R. Kohlisch  · 技术社区  · 7 年前

    我有一个功能 foo 发出一个异步请求。我怎样才能从中返回回复/结果 福 ?

    我试图从回调中返回值,并将结果赋给函数中的一个局部变量,然后返回该局部变量,但这些方法实际上都不会返回响应(它们都返回 undefined 或者不管变量的初始值是什么 result 是的)。

    接受回调的异步函数示例 (使用jQuery的 ajax 功能)

    function foo() {
        var result;
    
        $.ajax({
            url: '...',
            success: function(response) {
                result = response;
                // return response; // <- I tried that one as well
            }
        });
    
        return result; // It always returns `undefined`
    }
    

    使用节点的示例。js:

    function foo() {
        var result;
    
        fs.readFile("path/to/file", function(err, data) {
            result = data;
            // return data; // <- I tried that one as well
        });
    
        return result; // It always returns `undefined`
    }
    

    使用 then 承诺块:

    function foo() {
        var result;
    
        fetch(url).then(function(response) {
            result = response;
            // return response; // <- I tried that one as well
        });
    
        return result; // It always returns `undefined`
    }
    
    0 回复  |  直到 4 年前
    推荐文章