簡體   English   中英

OpenWhisk /節點-承諾無法解決

[英]OpenWhisk/Node — Promise Is Not Resolving

我已經在本地測試了reddit bot一段時間,並使其在本地運行。 所以現在我想在OpenWhisk上調用它。 我的麻煩似乎出現的那條線是:

r.getInbox( {"filter":"mentions", "append":false } ).then( newMentions, console.err );

newMentions永遠不會觸發。 我已經將第一行作為console.log,並用console.log替換了newMentions。

在此行之前和之后的console.logs都可以正常調用,並且getInbox在我的本地計算機上可以正常運行,並且在這里應該可以正常運行。 即使在上一行的console.err中,我也沒有任何錯誤。

因此,我目前的猜測是,我的OpenWhisk實例某種程度上在getInbox可以解析之前就結束了。 那正確嗎? 我將其設置為60s / 512mb,並且它不會占用60s的任何時間,而且我無法想象它占用了512mb。 所以...我是否需要手動強制OpenWhisk等待承諾解決? 我該怎么辦? 還是我沒有看到其他錯誤?

需要明確的是:我正在使用snoowrap進行reddit。 r是一個合適的snoowrap對象,而getInbox是一個snoowrap函數,我敢肯定我使用的是正確的函數,該函數返回表示收件箱的json數據的承諾。 再說一次,即使它是空的,仍然應該調用newMentions,對嗎?

將promise返回給主函數

function main(){
  return r.getInbox( {"filter":"mentions", "append":false } ).then( newMentions, console.error );
}

這樣,OpenWhisk將在Promise上等待

確保您的resolve函數newMentions或reject函數返回JSON對象,這將是Action的結果

另外console.err不是一個功能是console.error

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM