如何在没有.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); });