如何编写 GET api 调用函数以在 运行 实际 select by Id 语句之前将数据插入数据库?

How to write a GET api that calls a function to insert data into the db before running the actual select by Id statement?

我编写了一个 scanMetadata 函数,它接受在 url 中传递的 id,进行一些计算并将数据插入文件元数据 table。我正在创建的 api 是 get_metadata,它必须先 运行 这个函数,然后再 运行s Filemetadata.findById 选择 fileMetadata [=27 中的记录=] 基于id。我试过这样写,但它总是 return “从应用程序收到的响应不完整”。当 运行 单独工作时,这两个功能都很好。

exports.getMetadata = async (req, res, next) => {
   await scanMetadata(req.params.fileId);
    FileMetadata.findById(req.params.fileId, (err, data) => {
        if (err) {
            if (err.kind === "not_found") {
                res.status(404).send({
                    message: `Not found file with id ${req.params.fileId}.`
                });
            } else {
                res.status(500).send({
                    message: `Error retrieving file with id ${req.params.fileId}.`
                });
            }
        } else res.send(data);

    });
};

我的api路线是这样的

app.get('/get_metadata/:fileId', files.getMetadata); 

扫描元数据功能

let scanMetadata = async function scanMetadata (fileId) {
        let file = await get_files(fileId);

        let serverFilePath = file.serverFilePath;
        //TODO:Change hereto read serverFilePath after all record from table is apk
        let reader = ApkReader.readFile("C:\Users\user\Source\Repos\ApkScanner\backend\app\files\Instagram_v1550037107_apkpurecom.apk");
        let manifest = reader.readManifestSync();
        let versionCode = manifest.versionCode;
        let versionName = manifest.versionName;
        let package = manifest.package;
        let minSdk = manifest.usesSdk.minSdkVersion;
        let targetSdk = manifest.usesSdk.targetSdkVersion;
        let launcherActivityName = manifest.application.launcherActivities[0].name;
        let icon = manifest.application.icon;
        await insert_metadata(versionCode, versionName, package, fileId, minSdk, targetSdk,launcherActivityName, icon);
        await update_files();
    
}

是serverFilePath的问题。我硬编码了本地文件的文件路径,而不是服务器中的绝对文件路径。