如何在没有.then的节点js上获得promise的值

我在节点js上承诺有一些问题。 这是我的示例代码:

var p1 = new Promise(function(resolve, reject) { // my function here }); p1.then(function(result){ // my result }); 

这个代码是工作,但要从p1获取值我必须使用.then方法和我的结果值可以访问只是在p1.then。 如何访问P1值没有呢?

低于我的预期结果:

 var p1 = new Promise(function(resolve, reject) { // my function here }); var abc = NextFunction(p1); 

因为p1的值将被用在我的下一个外部variablesp1的代码上,那怎么办呢。 谢谢

p1是一个Promise ,你必须等待它来评估和使用Promise所要求的值。

你可以在这里阅读: http : //www.html5rocks.com/en/tutorials/es6/promises/

尽piperesult仅在已parsing函数内部可用,但可以使用简单variables对其进行扩展

 var res; p1.then(function(result){ res = result; // Now you can use res everywhere }); 

但是请注意只有在promise解决后才能使用res ,如果你依赖那个值,那么从.then里面调用下一个函数就像这样:

 var res; p1.then(function(result){ var abc = NextFunction(result); });