我正在使用 fetch 从服务器动态加载图像。如何使用返回的 ReadableStream 作为 HTML 中的图像源?在下面的代码示例中,data.body是一个ReadableStream,那么现在如何在网页中设置图像源呢?有没有办法使用管道来图像源?
图像服务.js
getImage(key) {
if(key != null) {
return this._downloadImageMap().then((imageMap) => {
let uri = imageMap[key];
if(uri != null) {
return this.client.fetch(uri).then((data) => {
return data.body;
});
} else {
throw new Error('image not found');
}
});
} else {
return Promise.reject(new Error('no key specified'));
}
}
Run Code Online (Sandbox Code Playgroud)
所需用法示例(不起作用):
this.imageService.getImage(this.skill).then((imgStream) => {
$('#theImage').attr('src', 'data:image/png;base64,' + imgStream);
});
Run Code Online (Sandbox Code Playgroud) 有没有办法在对象上创建SequelizeJS查询,并包含具有所属关系的关系时,让包含的属性不返回关联映射对象的结果?
即:
Users.findAll({include: [{model: Role, as: 'roles'}]})
//yields objects of the following form
user: {
username: 'test',
roles: [
{
name: 'user',
UserRoles: {userId: 1, roleId: 1} //<--I do not want this
}
]
}
Run Code Online (Sandbox Code Playgroud) 我的菜单中有链接到我页面中的锚点.当单击其中一个链接并且仍然发生默认操作时,我希望菜单折叠.当我绑定aurelia事件处理程序时,似乎永远不会发生默认操作(链接不会导航).如何绑定aurelia事件处理程序以及是否对锚标记执行默认操作?
即:
HTML
<ul class="${navClass}">
<li><a href="#about" click.trigger="_toggleMenu()"><i class="fa fa-pencil" style="color: #FFFF00;"></i><span>About</span></a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
JS
_toggleMenu() {
if(this.navClass == 'nav') {
this.navClass += ' expand';
} else {
this.navClass = 'nav';
}
}
Run Code Online (Sandbox Code Playgroud) 我只是想知道为什么每个人都说使用WeakMap over Symbol来在javascript类中创建私有成员.
什么更好:
const NAME = new WeakMap();
class foo {
constructor(name){
NAME.set(this, name);
}
get name(){
return NAME.get(this);
}
}
Run Code Online (Sandbox Code Playgroud)
与:
const NAME = Symbol();
class foo {
constructor(name){
this[NAME] = name;
}
get name(){
return this[NAME];
}
}
Run Code Online (Sandbox Code Playgroud)
使用WeakMap可以提高速度或改善内存吗?将Symbol用于我时可以使用反射的想法将成为使用Symbol的胜利.所以我想我的问题是为什么WeakMap over Symbol?
谢谢