Javascript 我如何从.then方法返回一个值?

Javascript 我如何从.then方法返回一个值?,javascript,node.js,promise,Javascript,Node.js,Promise,在下面的javascript代码段(为nodejs编写)中,createDoc函数返回一个承诺。在履行承诺后,将处理程序传递给。然后调用。问题是,我如何才能使。然后返回文件?根据文档,。然后返回一个承诺,但我真的希望它返回文档 let p = createDoc(title).then(function (doc) {return doc;}); //p is a promise, and not doc console.log(p); 访问传递给履行处理程序(本例中为doc)的值的正

在下面的javascript代码段(为nodejs编写)中,createDoc函数返回一个承诺。在履行承诺后,将处理程序传递给。然后调用。问题是,我如何才能使。然后返回文件?根据文档,。然后返回一个承诺,但我真的希望它返回文档

 let p = createDoc(title).then(function (doc) {return doc;});

 //p is a promise, and not doc
 console.log(p);

访问传递给履行处理程序(本例中为doc)的值的正确方法是什么?在之外。然后?

如果希望在p中使用值而不是承诺,则可以使用async await

async function someFunction() {
    ...
    let p = await createDoc(title);
     console.log(p);

    ...
}

你看到的是一种称为链接的承诺行为

这样做,当承诺解析时,doc的值将在p内

let p;
createDoc(title).then(doc => p = doc);

你能展示你的createDoc函数的代码吗?在promise中,你总能得到一个承诺作为回报。您将如何处理
doc
-这将提供一些关于如何继续的想法。@Nishant是的,但这正是他想要的,他想要在pAnd中解析的值,您可以在createDoc之后访问p吗