从回调函数内部获取变量值

getting variable value from inside a callback function

本文关键字:获取 变量值 内部 函数 回调      更新时间:2023-09-26

>我正在尝试从回调函数中提取变量的值。我在这里做错了什么?

var storyList = [];
var storyTemp ={};
// get list of all stories
db.getAllStoriesSet(function(err, reply) {
    if (err) throw err;
    else {
        storyList = reply;
        console.log("storylist inner: " + storyList);
    };
});
console.log("storylist outer: " + storyList);

在上面的代码中,我希望内部和外部故事列表值相同。但是,外部故事列表值仍为空列表。

编辑:添加到问题中。我已经在异步函数之外初始化了一个变量故事列表。然后,我从异步函数中获取回复并将其放入变量 storyList 中。我希望从我显然为自己挖的缓慢而残酷的死亡的异步坑中欺骗我的方式。它不应该奏效吗?

如果 getAllStoriesSet 是异步的,则在执行回调之前调用其调用后面的行。所以storyList就像打电话之前一样。

这就是你提供回调的原因:你必须在回调中放入需要 reply 值的代码。