首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenWhisk/Node -- Promise未解析

OpenWhisk/Node -- Promise未解析
EN

Stack Overflow用户
提问于 2018-02-14 11:03:21
回答 1查看 85关注 0票数 0

我已经在本地测试了一段时间的reddit机器人,并让它在本地工作。所以现在我尝试在OpenWhisk上调用它。我的麻烦似乎出现在下面这行:

代码语言:javascript
复制
r.getInbox( {"filter":"mentions", "append":false } ).then( newMentions, console.err );

newMentions永远不会触发。我将其中的第一行设为console.log,并将newMentions替换为console.log。

这一行之前和之后的console.logs都被调用得很好,而且getInbox在我的本地机器上也运行得很好,在这里也应该运行得很好。我在任何地方都没有收到任何错误,即使是来自上述代码行中的console.err。

因此,我目前的猜测是,我的OpenWhisk实例在getInbox解析之前以某种方式结束了。是那么回事吗?我将其设置为60/ 512mb,它不会占用接近60的内存,我无法想象它占用了512MB。所以..。是否需要手动强制OpenWhisk等待promise解析?我该怎么做呢?或者还有其他我看不到的错误?

需要说明的是:我正在对reddit使用snoowrap。R是一个合适的snoowrap对象,而getInbox是一个snoowrap函数,我确信我使用的是正确的,它返回表示收件箱的json数据的承诺。再说一次,即使它是空的,newMentions仍然应该被调用,对吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-14 11:39:38

将promise返回给main函数

代码语言:javascript
复制
function main(){
  return r.getInbox( {"filter":"mentions", "append":false } ).then( newMentions, console.error );
}

这样,OpenWhisk将等待承诺

确保您的resolve函数newMentions或reject函数返回一个JSON对象,它将是操作的结果

console.err也不是一个函数,它是console.error

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48778999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档