gpt4 book ai didi

javascript - node js - 从回调中获取结果

转载 作者:行者123 更新时间:2023-11-30 20:36:04 25 4
gpt4 key购买 nike

这是我的 Node js 代码:

var ResponseData = { str: "" };

function GetFilesList( FolderName, ResponseData )
{
fs.readdir( FolderName, GetFilesList_callback );
}

function GetFilesList_callback( Err, Files )
{
if( Err ) throw Err;
for( var Idx in Files )
{
var Entry = "File " + Idx + " =" + Files[ Idx ] + "=";
ResponseData.str += Entry;
console.log( Entry );
}
}

调用 GetFilesList() 函数后,ResponseData.str 不包含文件名,尽管我在控制台中看到了它们。

根据这里得到的答案,我修改了如下功能:

function GetFilesList( FolderName, ResponseData )
{
var prom = new Promise( function( resolve, reject )
{ fs.readdir( FolderName, GetFilesList_callback ) } );
prom.then( function( Files )
{
ResponseData.str += "x";
console.log( "after_promise" );
} )
}

“then”部分没有执行。奇怪的是,如果我向服务器发出第二个请求(即在浏览器中简单地刷新页面),我就会看到 ResponseData.str 具有我期望的文件名(但不是“x”es)。

最佳答案

ResponseData.str 确实包含这些文件,但您需要在 for 循环之后的回调中继续处理您的代码。

关于javascript - node js - 从回调中获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49823665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com