下面,我撰寫了一個函式,該函式接受一個陣列和一個鍵來搜索和計算鍵與陣列中某個元素匹配的次數。我正在嘗試修改我的函式以異步計算匹配的數量,但不知道如何最好地進行。任何見解或例子將不勝感激。
我的代碼:
function countMatches(arr, key)
{
var count=0;
var i;
for (i=0; i < arr.length; i )
{
if(arr[i] == key) count=count 1;
}
return count;
}
let arr1 = [3, 2, 4, 6, 1, 1, 6, 8, 9];
console.log(countMatches(arr1, 6));
uj5u.com熱心網友回復:
使用承諾
function countMatches(arr, key)
{
return new Promise((resolve) => {
var count=0;
var i;
for (i=0; i < arr.length; i )
{
if(arr[i] == key) count=count 1;
}
resolve(count);
});
}
let arr1 = [3, 2, 4, 6, 1, 1, 6, 8, 9];
countMatches(arr1, 6).then(result => console.log(result));
uj5u.com熱心網友回復:
您可以通過使用關鍵字將其轉換為異步函式來從任何同步函式回傳承諾async:
/** This is a sync function */
function getNumber1 () {
return 42;
}
const n1 = getNumber1();
console.log({sync: n1}); // 42
/**
This is an async function
Notice the `async` keyword before `function`
It automatically returns a promise which resolves to the value
vvvvv */
async function getNumber2 () {
return 42;
}
getNumber2().then(n2 => console.log({async: n2})); // 42
uj5u.com熱心網友回復:
異步/等待
async function countMatchesAsync(arr, key)
{
var count=0;
var i;
for (i=0; i < arr.length; i )
{
if(arr[i] == key) count=count 1;
}
return await count;
}
let arr1 = [3, 2, 4, 6, 1, 1, 6, 8, 9];
countMatchesAsync(arr1, 6).then(console.log);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/379258.html
標籤:javascript 节点.js
