Javascript Can';不要通过简单的获取创建blob

Javascript Can';不要通过简单的获取创建blob,javascript,Javascript,我需要使用从节点服务器获取来设置标记的src属性 函数获取图片(路径){ 获取(路径) .然后(功能(响应){ 返回response.blob(); }) .then(函数(myBlob){ 返回window.URL.CreateObjectURL(myBlob); }); }函数不会返回任何内容。您正在从回调函数返回URL,但这不会自动冒泡。相反,函数应该返回整个fetch承诺,然后在调用时异步处理它,如fetchPicture('s)http://url.path.here)。然后(url

我需要使用从节点服务器获取来设置
标记的
src
属性

函数获取图片(路径){
获取(路径)
.然后(功能(响应){
返回response.blob();
})
.then(函数(myBlob){
返回window.URL.CreateObjectURL(myBlob);
});

}
函数不会返回任何内容。您正在从回调函数返回URL,但这不会自动冒泡。相反,函数应该返回整个fetch承诺,然后在调用时异步处理它,如
fetchPicture('s)http://url.path.here)。然后(url=>image.src=url)
或类似内容。

好的,我理解并应用了您的更改和@Emissary的,现在它工作正常。如果我理解正确,您不能从
冒泡返回值。然后()
?正确。根据定义,其他代码在异步代码“同时”运行时继续运行。这意味着函数将在获取完成之前继续执行并结束,因此在函数结束之前无法将回调中的返回值获取到函数的范围中。这就是为什么在使用承诺时,通常会返回承诺链,然后在需要使用其值时将另一个处理程序链接到承诺链上;因此,新处理程序将等待承诺解决后再调用自己。