首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

将使用回调函数作为参数的函数改造为返回 Promise 的一个具体例子

我开发了一个函数 loadScript,可以动态加载指定的本地 JavaScript 文件。...); loadScriptPromise("1.js").then((script) => { console.log('loaded:', script); hello();}); 其中 1.js 的内容...待改造的 loadScript,包含两个函数: 调用 promisify,返回一个新的函数。 这个新的函数包含一个闭包 f,可以调用没有 promisify 之前的旧函数。...使用这个新函数加载 1.js: 进入这个新函数内部,执行 executor body: 在函数体内部可以随时访问 callback: 我们期望 script onload 事件发生时,...并且期望将这个 callback 函数,传递给原始的 loadScript 函数内部。我们通过 function 原型链上的 call 函数,就达到了调用原始的 loadScript 函数的目的。

1.5K10

LAB.js使用

engine 对象主要有这么几个方法:script()、wait()、loadScript() 以及 waitFunc(),另外还有两个主要的属性:queueExec 及 exec。...这个方法根据 queueExec 的值,调用 loadScript() 方法对传入的 js 地址进行加载或预加载操作。...loadScript() 加载 js 的方法。根据具体浏览器情况,以及是否同域,这个方法会调用上面提到的三种方式之一来加载 js,或者预加载 js ,或者将预加载完成的 js 最终加载到页面中。...预加载 js 时,loadScript() 会立即执行以便预加载指定 js,同时同样的 loadScript() 也会被 push 一份到当前 engine 对象的 exec 数组中,并在当前 engine...的 waitFunc() 执行时被依次调用,loadScript() 这次执行时则会将刚才预加载的 js 真正加载到页面上。

1.5K70

使用JS异步回调解决pjax加载问题

pjax的坑 使用pjax会导致部分js插件无法加载,最后我选择异步加载解决问题。 你可能会问异步就够了为什么还有个callback是干啥的,不急你先看看代码。...function loadScript(src, callback) { var script = document.createElement('script'), head = document.getElementsByTagName...代码,发现页面js中对象Undefined 未定义,我第一反应不对啊,依赖的js文件都加载了,控制台执行都能页面上这段js,我想是不是还没加载好js文件,于是写了这个异步加载函数。...问题继续 我写了个loadScript("",某回调函数()) 回调函数里面执行了有关这个js的代码 结果依然未定义 我蒙了 突然我发现我有点傻 回调函数()作为参数的时候这个函数已经被执行了,所以出现了未定义...于是我代码修改为 loadScript("js文件",函数名) 把()去掉就解决了 完成!修好了。

2.3K10

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券