异步生成器与SAGE(S)驱动的网页设计
异步生成器
在处理异步任务时,我们可以通过改变 executeAsyncTask 函数,让每个请求的响应相互独立,避免嵌套回调。以下是相关代码:
function* forkAsyncTask(url) {
// wait for fetch to resolve
const response = yield fetch(url);
// wait for json converting to resolve
const jsonResponse = yield response.json();
// wait for transform function
const transform = yield 'Give me a transform Data';
if (transform &&
jsonResponse &&
jsonResponse.length) {
return transform(jsonResponse)
}
// return json parsed response
return jsonResponse;
}
const executeAsyncTask = async ({
url,
dataTransformer,
}) => {
try {
const asyncTask = forkAsyncTask(url);
const asyncFetch = asyncTask.next().valu
超级会员免费看
订阅专栏 解锁全文
1579

被折叠的 条评论
为什么被折叠?



