第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在不分叉的情況下將路徑列表轉(zhuǎn)換為任務(wù)列表

在不分叉的情況下將路徑列表轉(zhuǎn)換為任務(wù)列表

收到一只叮咚 2022-12-29 13:55:31
仍在學(xué)習(xí) FP,但我覺(jué)得我終于開(kāi)始了解 monad,特別是如何使用它們。所以這就是我所擁有的: /* taken from https://mostly-adequate.gitbooks.io/mostly-adequate-guide/content/ch08.html#asynchronous-tasks */import fs from 'fs'import { Task, } from './shared/functional.js';// readDir :: String -> Task Error (Array String)const readDir = path => new Task((reject, result) => {  fs.readdir(path, (err, data) => (err ? reject(err) : result(data)));});const readStat = filename => new Task((reject, result) => {  fs.stat(filename, (err, data) => (err ? reject(err) : result(data)));});console.log(readDir('./shared'))readDir('./shared').fork(console.error,console.log)使用上面的代碼,我可以獲得該特定目錄中的內(nèi)容數(shù)組。我有兩個(gè)問(wèn)題:我如何在不像下面那樣顯式組合目錄的情況下連接目錄。這樣我就可以避免兩次調(diào)用“./shared”。const dirList = compose(  chain(map(concat('./shared/')))),  readDir,);其次,是否可以映射字符串?dāng)?shù)組,然后在不分叉外部任務(wù)的情況下轉(zhuǎn)入任務(wù)數(shù)組?我想獲取數(shù)組中每個(gè)項(xiàng)目的統(tǒng)計(jì)信息。它不需要是一系列任務(wù),但我想避免將它分叉兩次。我想調(diào)用 readDir,無(wú)論結(jié)果如何,我都可能得到結(jié)果的統(tǒng)計(jì)信息,它可以是 ex 的一組統(tǒng)計(jì)信息。而不是我需要將其轉(zhuǎn)換為任務(wù)的字符串?dāng)?shù)組。我得到的最遠(yuǎn)的是:const dirList = compose(  map(map(compose(readStat, concat('./shared/')))),  readDir,);有任何想法嗎?
查看完整描述

2 回答

?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊

我想你在找


// readDir :: String -> Task Error (List String)

const readDir = path => new Task((reject, result) => {

  fs.readdir(path, (err, data) => (err ? reject(err) : result(new List(data))));

});


// readStat :: String -> Task Error Stats

const readStat = filepath => new Task((reject, result) => {

  fs.stat(filepath, (err, data) => (err ? reject(err) : result(data)));

});


// dirList :: String -> Task Error (List Stats)

const dirList = dir => chain(

  traverse(Task.of, compose(readStat, concat(dir))),

  readDir(dir),

);


dirList('./shared/').fork(console.log, console.error);


查看完整回答
反對(duì) 回復(fù) 2022-12-29
?
森欄

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊

為了更清楚地展示它,下面的示例之所以有效,是因?yàn)槲覀兊玫搅艘粋€(gè)可遍歷的 Maybe 。


const readFirst = path => compose(

  chain(traverse(Task.of, compose(readStat,concat(path)))),

  map(safeHead),

  compose(readDir, ()=>path),

);

const stats = maybe('nope', console.log)

readFirst('./shared/')().fork(console.error, stats)

在您的評(píng)論中,您試圖遍歷一個(gè)數(shù)組,該數(shù)組未實(shí)現(xiàn)該方法。我需要一種使數(shù)組可遍歷的方法,然后我想我可以將執(zhí)行捆綁在一起并在我分叉任務(wù)時(shí)返回統(tǒng)計(jì)列表。


查看完整回答
反對(duì) 回復(fù) 2022-12-29
  • 2 回答
  • 0 關(guān)注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)