首页 > 解决方案 > 将第一个 js 函数链接到第二个 js 函数,当第二个延迟返回值时

问题描述

这是我想要做的。不成功并给出错误。是否可以延迟返回值,并链接函数以使第二个延迟返回值?

 a().b() 

function a( )
{
    var self=this;

      setTimeout( function(){ return self },2000);

      return null; //<<<<< this causes problem
}

function b()
{
    trace("hello");
}

标签: javascript

解决方案


你可以用Promises和(可选的)async/await来做这种事情。

就像是:

function a() {
  return new Promise((resolve) => {
    setTimeout(() => resolve('the return value'), 2000);
  })
}

function b(value) {
  console.log(`from b: ${value}`);
}

a().then(b);


推荐阅读