Funktion ist:Ist map() in Javascript synchron?
[1,2,3].map(function (item)
{
console.log(item);
//return 'something';
});
Mein ist das erwartete Verhalten nur 1 als Ausgang bekommen, es sei denn ich die
//return 'something'
Kommentar- aber ich habe wirklich
1
2
3
Was mache ich falsch?
UPDATE:
Ich teste das mit NodeJS.
ich verstehe wirklich nicht.
var async = require("async");
[1,2,3].map(function (item)
{
console.log(item);
//return 'something';
});
async.map([1,2,3], function (item,callback)
{
console.log(item);
//callback(null,true)
}, function (err,result)
{
console.log(result);
}
);
Beide geben die gleiche
1
2
3
und ich würde wirklich warten möchte, bis ich eine Rückgabe oder einen Rückruf erhalten, bis der nächste Punkt ausgeführt wird.
GELÖST
async.mapSeries([1,2,3], function (item,callback)
{
console.log(item);
//callback(null,true)
}, function (err,result)
{
console.log(result);
}
);
die Art und Weise, es zu tun ist.
Warum ist, dass Ihr „erwartetes Verhalten“? – Alnitak
Welchen Browser versuchen Sie dies?Für Google Chrome bekomme ich in beiden Fällen das Ergebnis wie erwartet. – robieee
Hinweis: Map ruft eine bereitgestellte Callback-Funktion einmal für jedes Element in einem Array auf. Das ist, was ich habe in Google Chrom Debugger: [1,2,3] .map (function (Artikel) { console.log (item); // return 'etwas'; }) VM63 1: 4 VM63 2: 4 VM63 3: 4 [undefinierte, nicht definiert, undefined] [1,2,3] .Map (function (item) { console.log (item); return ' etwas '; }) 1 VM66: 4 2 VM66: 4 3 VM66: 4 ["etwas", "etwas", "etwas"] – robieee