我已经在本地测试了一段时间的reddit机器人,并让它在本地工作。所以现在我尝试在OpenWhisk上调用它。我的麻烦似乎出现在下面这行:
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仍然应该被调用,对吗?
发布于 2018-02-14 11:39:38
将promise返回给main函数
function main(){
return r.getInbox( {"filter":"mentions", "append":false } ).then( newMentions, console.error );
}这样,OpenWhisk将等待承诺
确保您的resolve函数newMentions或reject函数返回一个JSON对象,它将是操作的结果
console.err也不是一个函数,它是console.error
https://stackoverflow.com/questions/48778999
复制相似问题