2016-02-25 18 views
0

我有一個使用S3存儲的web應用程序。有時我的一個存儲在S3中的項目可能會丟失一個資源(通常是一個圖像文件),在這種情況下,我想複製丟失的圖像佔位符,然後顯示它。我目前使用copyObject,但是當我從copyObject獲得返回時,圖像還沒有出現。我寧願不用setTimeout來延遲希望對象實際在那裏稍晚一點,所以我怎麼能在Javascript中做到這一點?S3 waituntilObject存在於Javascript中

this post有一個對稱爲waitUntilObjectExists的S3函數的引用,但它似乎只是一個PHP函數。用JavaScript sdk做一個Javascript友好的方法是什麼?

回答

1

可以使用錯誤事件替代破碎的形象:

function imageMissingError(image) { 
    image.onerror = ""; 
    image.src = "/path/to/the/image/replacement.gif"; 
    return true; 
} 

<img src="thegoodimage.gif" onerror="imageMissingError(this);"/>