我想使用我的Firefox OS應用程序在MDN(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)上描述的偉大的Promise接口。但從Firefox 1.3(模擬器)看來似乎並不支持(「Promise is undefined」)。在Firefox OS中使用Promises
是否有一個工作的polyfill,其語法與MDN上的規範一致?未來的版本支持真正的Promises接口後,我不想重寫所有內容。
這個不能在Firefox OS和Web Workers下工作:https://github.com/jakearchibald/es6-promise原因:它使用「window」全局變量。
這一個從MDN規格略有differes:https://github.com/slightlyoff/Promises - 即:當MDN規範說
new Promise(function (resolve, reject) { /*...*/ resolve(); /*...*/ });
...這個填充工具要使用此語法(它使用所謂的「解析」):
new Promise(function (r) { /*...*/ r.resolve(); /*...*/ });
確實,Promise支持認證的應用程序。但是,憑藉我的特權(這意味着它的「清單中的類型:特權」),它不起作用。也許它會工作,一旦該應用程序通過市場認證等。但我不明白,爲什麼這不應該爲普通的打包應用程序?! – thomas
托馬斯,與最新版本的壁虎,特權應用程序允許使用承諾,這就是爲什麼我建議更新您的模擬器正在使用的B2G二進制文件。 –
啊,好的,那真是有價值的信息:-) – thomas