我需要在forEach之外使用that.assigned
的值,但是如果我将undefined
用作数组的console.log(that.assigned)
,它将产生assignedDoctors.then(function(doc){
let i = 0;
doc.forEach(function(md){
tmpMDs.push(md.data());
tmpMDs[i].key = md.id;
// tmpMDs.push(md.data().push());
i++;
});
that.assigned = tmpMDs;
}).catch(function(e){
console.log(e);
});
console.log(that.assigned)
accessToken
答案 0 :(得分:1)
如果您使用的是ES 2017,则可以做到
(async function(){
that.assigned = await assignedDoctors.then(function(doc){
let i = 0;
doc.forEach(function(md){
tmpMDs.push(md.data());
tmpMDs[i].key = md.id;
// tmpMDs.push(md.data().push());
i++;
});
return tmpMDs;
});
})()
否则,将无法使用回调。
答案 1 :(得分:0)
assignedDoctors。然后是一个Promise函数,您不能在调用Promise函数之前访问该变量的值。