Я пытаюсь вызвать функцию после получения ответа от вызовов API. Как этоSlack API, работающий с двумя API
function saveScore(bot,result,message){
getFirstScore(bot,result).then(function(fscore){ //API -1
if(fscore){
getSecondScore(bot,result,null).then(function(sscore){ //API -2
if(fscore && sscore){
var finalScores = "First score is " + fscore + " :innocent:" + "\n Second score is "+ sscore +" :blush: ";
var remindAttachment = util.reminderAttachment("",finalScores);
listAllScores(bot,message,remindAttachment);
}
},function(error){
console.log('sscore error: ' + error);
});
}
},function(error){
console.log('fscore error: ' + error);
});
}
function listAllScores(bot,message,remindAttachment){
sendInstructions = function(response, convo){
convo.say(remindAttachment);
convo.say("Take it to the next level:");
convo.next();
setTimeout(function(){
listScores(bot,message);
},2000);
}
bot.startPrivateConversation(message, sendInstructions);
}
Здесь, я хочу назвать listScores (бот, сообщение); функция после convo.say (напоминаниеAttachment);. Но сейчас загружается listScores (бот, сообщение); первый. Итак, я устанавливаю тайм-аут (не очень хороший подход) для listScores (бот, сообщение); для загрузки через некоторое время.
Есть ли лучший способ позвонить listScores (бот, сообщение); функция после convo.say (напоминаниеAttachment);
Редактировать
function listAllScores(bot,message,remindAttachment){
sendInstructions = function(response, convo){
convo.say(remindAttachment, function(error){
console.log("error ::::::::::::::::::::",error);
if(error!=null) {
listScores(bot,message);
}
});
}
bot.startPrivateConversation(message, sendInstructions);
}
спасибо за ответ. Пробовал использовать обратный вызов, но эта функция обратного вызова не вызвана. – NNR
Можете ли вы дать мне фрагмент функции convo.say? –