javascript Asynchronous:无法读取未定义的属性'then'

时间:2018-06-08 17:40:41

标签: javascript asynchronous

我正试图一个接一个地触发3个功能。当每个完成时,接下来启动我的代码: -

getInfo(f1 , f2).then(function() {
    setInfo().then(function(callback) {
        Three();
    });
});

我收到此错误: -

>TypeError: Cannot read property 'then' of undefined

更新

function setInfo(){  

    alert('done')   

  } 

1 个答案:

答案 0 :(得分:1)

你需要实际链接。

我们假设您的代码具有类似于以下的API。 getInfosetInfo,也许Three都是异步的。他们返回的Promise会解析为某个值。

function getInfo(a, b) {
  return Promise.resolve(true);
}

function setInfo() {
  alert("done");
  return Promise.resolve(true);
}

function Three() {
  return Promise.resolve(true);
}

你需要将它们实际链接在一起,以便它们彼此等待并传播值。

const f1 = "foo";
const f2 = "bar";

getInfo(f1, f2)
  .then(() => setInfo())
  .then(cb => Three());