当前位置: 首页 > 面试题库 >

承诺回报未定义

上官鸿晖
2023-03-14
问题内容

我知道您不能使异步函数同步运行,但是如何向我的promise链添加某种顺序?

一个结果依赖于先前的promise值,当不发生时,我得到一个未定义的错误。这是一个http请求,因此它依赖于外部因素,例如我的连接执行请求的速度等。

module.exports.movieCheck = function(authToken) {
return request({
    method : 'GET',
    uri : 'https://graph.facebook.com/' + profileID + '/posts?fields=message&limit=25&' + authToken
    }).spread(function (response, body) {
        console.log('https://graph.facebook.com/' + profileID + '/posts?fields=message&limit=25&' + authToken);
        return body;
    }, function(e) {
        console.log(e);
});
};

我正在按以下方式调用上述方法。但是console.log返回未定义。

movieCheck.getToken()
.then(function(token) {
  movieCheck.movieCheck(token);
})
.then(function(movies) {
  console.log(movies); //should print json data
});

终端打印

undefined
https://graph.facebook.com/.../posts?fields=message&limit=25&access_token=....

问题答案:

尝试从第一个然后回调的返回promise

movieCheck.getToken()
    .then(function (token) {
    return movieCheck.movieCheck(token);
}).then(function (movies) {
    console.log(movies); //should print json data
});


 类似资料:
  • 问题内容: 关于这两个重要来源:NZakas- 承诺链中的归还承诺 和MDN承诺,我想提出以下问题: 每次我们从承诺履行处理程序返回值时,该值如何传递给从同一处理程序返回的新承诺? 例如, 在这个例子中,是一个承诺。也是来自履行处理程序的承诺。但是。取而代之的是神奇地解决(如何?),然后将该值传递给的实现处理程序。即使是这里的句子也令人困惑。 您能给我解释一下这到底是怎么回事吗?我对这个概念感到困

  • 问题内容: 我正在将React代码转换为打字稿,tsconfig中的目标是es5。 在IE 11中运行时,出现错误“未定义承诺” 我知道我需要填充,但是如何? 我没有使用Babel。 以下是我的Webpack.config 问题答案: 在axios上面写这个对我有用,也许其他选择也可以 我主要面对的是IE中的缓存问题 安装webpack插件也可以 并包括 在webpack插件中 我将使用更多可能的

  • 问题内容: 我不明白…是我还是这是节点中的错误? 可以按预期进行: 这发出了警告: 我懂了 问题答案: 使用与承诺回报新希望(这就是所谓的链接)。因此,当您执行以下操作时: 您的最初承诺在哪里,您将在第1行上创建一个新的承诺(现在不再存在。我们称它为 )。因此,即使您使用with ,也不会处理上的拒绝,这解释了您在控制台上看到的消息。 为了避免出现此消息,您应该在第1行的新承诺中添加a

  • 问题内容: 我正在使用promis模块从请求模块返回我的json数据,但是每次运行它时,它都会为我提供此信息。 我无法正常工作,有人知道这个问题吗?这是我的代码: 问题答案: 许诺是充当未来价值的占位符的对象。您的函数返回该Promise对象。通过将处理程序附加到promise,您可以在promise中获得未来的价值: 这是异步代码,因此,仅能通过处理程序来获得承诺的价值。 修改清单: 在返回的p

  • 问题内容: 我有一个像这样的递归函数 我正在使用它 我注意到您好永远不会返回,因为我怀疑我在递归调用上创建了多个promise,但是我不确定如何从中返回。 如何返回每个递归创建的Promise? 编辑: 结果是 问题答案: 递归是一种功能性遗产,因此将其与功能性样式一起使用可产生最佳效果。这意味着编写接受和操作其输入(而不是依赖于外部状态)和返回值(而不是依赖于突变或副作用)的函数。 你的程序,而

  • 问题内容: 我正在使用Firebase开发Server。 我已经在Youtube上复制了Google Developer的视频。 它工作正常,但在日志中出现错误: 返回的函数未定义,预期的承诺或价值 它说函数返回了,但是我返回了一个“ set” 我该如何解决? 我是Firebase Nodejs的初学者。 问题答案: 正如弗兰克在对您的帖子的评论中所指出的那样,产生警告的return语句就是这样的