如何应对无极一段时间后,当函数返回值

问题描述 投票:-3回答:1

设置超时抽出时间来调用函数,但代码需要等到回报还没有返回

var test = new Promise((resolve,reject)=>{
   resolve(2);
}) 
test.then(r).then(s).then(t).then((tt)=>{
  console.log(tt);
});
function r(r){  
  setTimeout(()=>{
    r=r+1;
    return(r);
  },2000)
}

function s(r){
  r=r+1;
  return(r);
}
function t(r){
  r=r+1;
  return(r);
}
javascript node.js
1个回答
0
投票

你是不是等待setTimeout函数来完成

var test = new Promise((resolve, reject) => {
    return resolve(2);
})
test.then(r).then(s).then(t).then((tt) => {
    console.log(tt);
});

function r(r) {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            r = r + 1;
            return resolve(r);
        }, 2000)
    })
}

function s(r) {
    r = r + 1;
    return r;
}

function t(r) {
    r = r + 1;
    return r;
}
© www.soinside.com 2019 - 2024. All rights reserved.