gpt4 book ai didi

javascript - 通过从字符串评估 JavaScript 来取消字符串

转载 作者:行者123 更新时间:2023-11-28 09:34:45 24 4
gpt4 key购买 nike

我有使用 stringByEvaluatingJavaScriptFromString 调用的 JS,运行需要大约 9 秒,但如果用户需要,我希望能够立即取消此操作。

然而,整个线程似乎被这个阻塞了。

我准备做任何事情来允许用户取消此操作(例如删除 UIWebView ),但似乎没有任何效果,因为应用程序等待 stringByEvaluatingJavaScriptFromString 返回然后再继续。

最佳答案

不知道如何取消。为了改善UI,从这个UIWebView stringByEvaluatingJavaScriptFromString in background ,

尝试将 JavaScript 分成离散的执行 block ,并使用 JavaScript 计时器将它们管道化,如下所示(JS 代码,而不是 Obj-C):

var i = 0;
var operation = function() {

switch (i) {
case 0:
//do first part of code
break;
case 1:
//do second part of code
break;
case 2:
//do third part of code
break;
etc...
}

//prepare to execute next block
i++;
if (i < TOTAL_PARTS) {
setTimeout(operation, 0);
}
};
operation();

这将防止您的脚本在执行时阻止用户交互。

有关更多详细信息,请查看该线程,UIWebView stringByEvaluatingJavaScriptFromString in background .

关于javascript - 通过从字符串评估 JavaScript 来取消字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13246504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com