javascript - 如何在node.js中的get-request之后返​​回值?

标签 javascript node.js needle.js

当我收到服务器响应时如何获取这个值?

当我运行它时,终端没有输出任何信息。

console.log(a);
function findMaxID() {
    var a = needle.get(URL, function(err, res){
        if (err) throw err;
        return 222; 
    });
    return a;
}

最佳答案

基本上,您无法真正以函数返回值的方式返回此值。您可以做的是为您的 findMaxID() 函数提供一个回调参数,以便在获取数据时调用:

function findMaxID(callback) {
    needle.get(URL, function(err, res){
        if (err) throw err;
        callback(res); 
    });
}

然后这样调用它:

findMaxID(function(id) {
    console.log('Max ID is : ', id);
}

您还可以返回一个 promise :

function findMaxID() {
    return new Promise(function (resolve, reject) {
        needle.get(URL, function(err, res){
            if (err) reject(err);
            resolve(res);
        });
    });
}

并这样调用它:

findMaxID().then(function(id) {
    console.log('Max ID is ', id);
})

编辑

如果您使用的是 async 函数,则可以这样:

var id = await findMaxId();
console.log(id); // logs the ID

关于javascript - 如何在node.js中的get-request之后返​​回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41806852/

相关文章:

node.js - 为什么 Node-express 代理未设置 X-Forwarded-For header ?

node.js - 我可以使用 Node.js 对 Raspberry Pi 进行编程吗?

javascript - 五星级评级功能

javascript - ECMAScript 多个 Prologue 指令

javascript - 在滚动上按类别删除元素

javascript - 如何在内容查询中检索链接字段

javascript - 如何使用 Needed 或请求库在 Node.js 中通过 PUT 请求上传二进制正文

Node.js 针柱未完成其工作

javascript - 针 : node. js 在 POST 上返回 500

javascript - 为什么我的 jQuery fadeOut 不起作用?