Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 第三方js重新定义本机函数代码后,如何检索本机函数代码?_Javascript_Promise_Tumblr_Userscripts - Fatal编程技术网

Javascript 第三方js重新定义本机函数代码后,如何检索本机函数代码?

Javascript 第三方js重新定义本机函数代码后,如何检索本机函数代码?,javascript,promise,tumblr,userscripts,Javascript,Promise,Tumblr,Userscripts,我正在为tumblr编写一个用户脚本,它通过一个数据数组对其API进行ajax调用,我需要按照数据在数组中的顺序来响应。有人建议我为此使用承诺,如文章所示() 它可以在单个tumblr博客页面上工作,但不能在仪表板上工作,在仪表板上,Promise的本机实现会被其日志覆盖。因此,他们的承诺缺乏.resolve()功能,我的代码也无法运行 我还能找到一种方法来使用本土承诺吗?还是我必须寻求其他方法?我更愿意遵守承诺,避免在单个用例中使用不同的代码。或者,我必须为相同的功能使用jQuery,但我真的

我正在为tumblr编写一个用户脚本,它通过一个数据数组对其API进行ajax调用,我需要按照数据在数组中的顺序来响应。有人建议我为此使用承诺,如文章所示()

它可以在单个tumblr博客页面上工作,但不能在仪表板上工作,在仪表板上,Promise的本机实现会被其日志覆盖。因此,他们的承诺缺乏.resolve()功能,我的代码也无法运行

我还能找到一种方法来使用本土承诺吗?还是我必须寻求其他方法?我更愿意遵守承诺,避免在单个用例中使用不同的代码。或者,我必须为相同的功能使用jQuery,但我真的不知道如何使用


现在我正在通过强制从GitHub加载Promise polyfill来解决这个问题,但这感觉不对。

你不能在index.js执行之前注入你的脚本吗?@dystroy甚至可以在页面的脚本之前运行一个用户脚本(至少在中的脚本)?我已经在文档开始时运行了它,我怀疑我是否可以更早地运行它。强制加载polyfill似乎是最好的选择,您可以尝试这样的方法
Promise=fetch('http:')。构造函数
,但是如果浏览器不支持
fetch()
@AlexeyLebedev这实际上是一个非常聪明的技巧,你应该把它作为一个答案发布。哇,他们的承诺实现非常可怕。