我在調用一個處理用戶輸入消息的函數,然後在Microsoft bot框架的node.js SDK中相應地發送響應。這裏是場景:當機器人收到用戶的消息時,我正在調用一個功能processMessage
,這需要一些時間來執行。 processedResult
是執行processMessage
後得到的結果。由於bot過早響應,它發送一個未定義的值。如何確保在processMessage
執行完成之前瀑布中的下一步未被執行?這裏是我的代碼:如何在執行微軟bot框架中的第二個函數之前等待一個函數執行?
var connector = new builder.ConsoleConnector().listen();
var bot = new builder.UniversalBot(connector);
bot.dialog('/', [
function (session) {
console.log('step1')
processMessage(session.message.text);
},
function(session) {
console.log('step3')
session.send(processedResult);
}
]);
console.log('step2')
是在processMessage
定義。日誌的順序是step1,step3,step2。
是否'processMessage'採取的回調? – SimpleJ
不,但如果回撥有幫助,我會添加它。請使用回調來解釋解決方案,如果有的話。 –