gpt4 book ai didi

Javascript:如何确定是否 promise 一个功能?

转载 作者:行者123 更新时间:2023-11-30 15:06:30 25 4
gpt4 key购买 nike

考虑一些小的辅助函数,其中一些显然是 async/promise 的候选者(我认为我理解它们):

exports.function processFile(file){
return new Promise(resolve => {
// super long processing of file
resolve(file);
});
}

同时:

exports.function addOne(number){
return new Promise(resolve => {
resolve(number + 1);
});
}

似乎有点矫枉过正。

决定他们是否应该 promise 其功能的规则是什么?

最佳答案

如果我需要按特定顺序执行多个异步函数,我通常会使用 Promise。例如,如果我需要发出三个请求并等待它们全部返回,然后才能组合数据并处理它们,这就是 promises 的一个很好的用例。在您的情况下,假设您有一个文件,您需要等到服务中的文件和元数据都已加载,您可以将它们放在 promise 中。

如果您希望优化长时间运行的流程的操作,我会更多地关注 web worker 而不是使用 promises。它们在 UI 线程之外运行,并使用消息将它们的进度传回 UI 线程。它是基于事件的,但不需要 promise 。唯一需要注意的是,您不能在 Web Worker 中对 DOM 执行操作。

更多关于网络 worker 的信息:https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers

关于Javascript:如何确定是否 promise 一个功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45683984/

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