当前位置:  开发笔记 > 编程语言 > 正文

如何在没有.then函数的情况下从节点js获取promise的值

如何解决《如何在没有.then函数的情况下从节点js获取promise的值》经验,为你挑选了1个好方法。

我对节点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值将用于外部p1变量的下一个代码,怎么做.谢谢



1> AlexD..:

p1是a Promise,您必须等待它评估并使用Promise所需的值.

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

虽然result仅在已解析的函数内可用,但您可以使用简单变量对其进行扩展

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

但是要注意res只有在promise解决后才能使用,如果依赖于该值,请从下面调用下一个函数.then:

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

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有