本文介绍边缘程序用到的其他API。
URL对象
URL对象的定义,请参见MDN官方文档URL。
URLSearchParams
URLSearchParams的定义,请参见MDN官方文档URLSearchParams。
TextDecoder
TextDecoder的定义,请参见MDN官方文档TextDecoder。
TextEncoder
TextEncoder的定义,请参见MDN官方文档TextEncoder。
Atob
Atob的定义,请参见MDN官方文档WindowOrWorkerGlobalScope.atob()。
BtoA
BtoA的定义,请参见MDN官方文档WindowOrWorkerGlobalScope.btoa()。
setTimeout/clearTimeout/setInterval/clearInterval
setTimeout/clearTimeout/setInterval/clearInterval的定义,请参见MDN官方文档window.setTimeout。
setTimeout和setInterval的时间精度为毫秒级别,为了避免SideChannel攻击,真实精度建议设置为50毫秒。
每个请求都有实际时间约束,如果当前设置的时间大于实际时间,将会触发异常。例如实际时间约束是60秒,设置到setTimeout和setInterval的时间为100秒将会触发异常。
setTimeout和setInterval有资源限制,每次请求最多可以设置16次,如果设置了资源限制,clear后也不会递减上限,且setInterval每次触发都算一次,最多会触发16次。
以上回调函数均为请求边界的回调函数,如果取消或终止了设置该触发的请求,setTimeout和setInterval将不会被触发。
setImmediate/clearImmediate
setImmediate/clearImmediate的定义,请参见MDN官方文档window.setImmediate。
setImmediate会保证一次上下文切换,同时setImmediate有资源上限,每次请求最多触发16次,即您可以设置16次,即使清除了这16次上限还在。
字符串相关
utf8ToString
:将UTF-8转换成字符串。utf16ToString
:将UTF-16转换成字符串。
以上函数对输入的缓冲区大小有固定限制,如果有大的数据转换使用TextEncoder/TextDecoder
,输入缓冲区不能大于1 MB,如果大于1 MB,您可以在JS中切割内容。
Console
目前console在实际运行中无意义,仅在调试环境中有效。调试环境中支持的参数如下:
info
log
error
warn
trace
assert