我在下一个js app中使用节点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
将数据记录到终端并在那里终止。我究竟做错了什么?感谢
答案 0 :(得分:3)
您可以查看zxapi.programs
是否返回Promise
吗?如果没有,您可能必须创建一个函数,使其返回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()