【发布时间】:2018-02-07 13:08:54
【问题描述】:
在这种情况下我将如何使用回调?我不确定自己做错了什么,我查看了解释,但仍然无法理解这个概念。
这是一个sn-p:
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 呢?还是我应该构建完全不同的代码?
【问题讨论】:
-
这就是异步性的全部意义,除非您以某种方式阻止回调直到
console.log('2')完成,否则您无法预测它们的执行顺序。很可能在某些情况下,您首先会看到1。 -
请求是异步的,控制台日志'2'发生在回调解决之前。
标签: javascript jquery node.js callback request