在这种情况下,我如何使用回调?我不确定自己做错了什么,我已经看过解释,仍然无法理解这个概念。
这是一个片段:
function retrieveTransactionInfo(transactionUrl) {
request(transactionUrl, function (error, response, body) {
// Parse JSON here
// Set variables accordingly
console.log('1');
});
}
function getTransactionInfo(data, callback) {
callback(data);
}
$('#search-btn').click(function() {
getTransactionInfo(transactionUrl, retrieveTransactionInfo);
console.log('2');
它正在做的是运行控制台日志' 2'首先代替' 1'。如何让它转到1然后2?或者我应该将我的代码结构完全不同?
答案 0 :(得分:0)
日志' 2'首先是正确的,因为get请求是异步完成的。换句话说,getTransactionInfo立即返回,引擎执行下一行。
稍后,当异步请求结束时,将调用回调,并且' 1'输出完成。如果您的API执行异步请求,则无法执行其他操作。