вход значения переменного src
внутри и снаружи .then
.then
, и я заметить, что src
имеют различные значения, интересно, почему:Значения переменного внутри .then объема отличается от значения переменного за пределами сферы .then
getUserPicSrc(){
var src;
var db=new window.PouchDB('http://127.0.0.1:5984/passport-test');
db.getAttachment(this.props.store.user._id,'pic.jpg').then(blob=>{
src=window.blobUtil.createObjectURL(blob);
console.log('src inside then: '+src);// src inside then: blob:http://127.0.0.1:10002/ed1cf453-3902-4064-8966-e74c4a1ee6b4
}).catch(error=>{
console.log(error);
})
console.log('src outside then: '+src);// src outside then: undefined
return src;
}
UPDATE
Я закончил тем, что делал это, который работает отлично:
setUserPicSrc(){
var db=new window.PouchDB('http://127.0.0.1:5984/passport-test');
db.getAttachment(this.props.store.user._id,'pic.jpg').then(blob=>{
var url=window.blobUtil.createObjectURL(blob);
console.log('url: '+url);
document.getElementById('userPic').src=url;
}).catch(error=>{
console.log(error);
})
}
См. Также комментарии и ответ на этот вопрос: http://stackoverflow.com/q/41788626/1078886 –