2015-12-10 79 views
-1

我想用我的腳本下面的代碼,將被連接到一對夫婦的網站:發電機的瀏覽器支持

Promise.coroutine(function*() { 
    var one = yield get('http://url1.com'); 
    // do something 
    var two = yield get('http://url2.com'); 
    // do something 
})().catch(function (errors) { 
    // handle errors 
}); 

的事情是,我不能使用jQuery,也沒有任何其他庫 - 它必須是乾淨的JS,因爲只有我的腳本可以被包含,我不能包含任何其他內容,而且我不知道在這些網站上可以使用哪些腳本。

此外,它必須在每個瀏覽器下工作。

發電機和承諾是否安全使用在這裏?

+0

不,他們是ES6。目前只有ES5標準在很大程度上得到支持。 – Xufox

+0

這取決於您需要支持的客戶端機器;如果你的用戶有小於11的IE(可能是10),那麼我會說「不」,但是我還沒有驗證引入了promise和generator的IE版本。或者即使他們已經。 –

+0

*此外,它必須在每個瀏覽器下工作* - 考慮到一次,瀏覽器不支持JavaScript,這將是一個巨大的問題。我建議您爲您的支持基礎定義實際邊界。 – Amit

回答

0

沒有,承諾和發電機是的EcmaScript-6規範的一部分,並且,不適用於目前大多數瀏覽器...

如果您需要實現的是,你還可以看看上什麼如下:

  1. List of es-6 tools
+0

那麼,如果大多數瀏覽器不支持這個,那麼使用ES6有什麼意義呢? – user99999

+0

目標是最新的,當然,你需要使用一個轉換器來轉換你的es6在es5中......你認識巴別塔嗎? – Hitmands

+0

但是我仍然需要在一個腳本中將es6轉換爲es5,而無需添加其他外部腳本。或者將一些動態轉換器在將它拉到服務器上後,將我縮小的js從es6轉換爲es5。 – user99999