function process(hugedirectory) {
var title = hugedirectory.getTitleEachFile().then(function(caption){
console.log(caption);
return caption;
});
return title;
}
我有一个调用此方法的AJAX调用,但是现在,它将不返回任何内容。
console.log(caption)
显示正确和预期的值。但是,此方法结束时不返回此值。
答案 0 :(得分:3)
由于process
使用异步函数调用,因此无法从方法返回值。
解决这类问题的方法是使用下面给出的回调函数
function process(hugedirectory, callback) {
hugedirectory.getTitleEachFile().then(function(caption){
console.log(caption);
callback(caption)
});
}
process(hugedirectory, function(title){
//Do something with title
})
在此而不是从process
返回标题时,我们将回调函数传递给process
,当异步调用完成并且生成的title
值传递给回调函数。