如何从Node中的空函数返回值



我有以下代码:

function done(err, file) {
//handle code
return "test";
}
function process() {
retext()
.use(keywords)
.process(sentence, done);

return val; 
}

process()函数必须返回retext()的值,但retext()函数似乎不返回任何值。

如果我将其更改为:

const val = retext()
.use(keywords)
.process(sentence, done);

这仍然不起作用

我怎样才能让retext()退货。这只是一个NPM包我安装了

我尝试在done()函数中返回test,但没有传递任何返回到retext()的信息。

我也试过:

retext()
.use(keywords)
.process(params.t, done).then((val) => return val);

总结

process()必须返回done()的值,该值由retext()调用

我不熟悉retext包。然而,从这里提供的文档来看,retext函数看起来是异步的。因此,您需要await的结果。您还需要将process转换为异步函数。然而,如果没有可重复/可工作的问题,就很难提出解决方案。

如果我遗漏了什么,请分享一把小提琴或一些我们可以复制的代码片段。

async function process() {
const val = await retext()
.use(keywords)
.process(sentence, done);
console.log(val); // should work now
return val;
}

此外,当您调用process函数时,还需要再次调用await

这里有一个关于javascript中async/await的非常好的教程。

最新更新