从节点js函数返回值

我在下一个js应用程序中使用节点npm模块从api获取数据。

static async getInitialProps() { const zxapi = new Zxapi(connectId, secretKey); const res2 = await zxapi.programs({ region: "DE" }, function(err, result) { if (err != null) { return err } console.log(result, "before return"); return result console.log(result, "after return"); }); return { res2 }; } 

我需要返回res2的值。 “返回前” console.log将数据logging到terminal并在那里终止。 我究竟做错了什么? 谢谢

你可以检查zxapi.programs返回Promise ? 如果没有,你可能不得不创build一个函数,使其返回一个Promise

例如,你可以使用类似的东西

 function zxpromise() { return new Promise((resolve, reject) => zxapi.programs({ region: "DE" }, function(err, result) { if (err != null) { reject(err); } console.log(result, "before return"); resolve(result); console.log(result, "after return"); })); } 

然后,你可以调用zxpromise

 const res2 = await zxpromise() 
    Interesting Posts