本文整理匯總了TypeScript中fs-extra-p.createReadStream函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript createReadStream函數的具體用法?TypeScript createReadStream怎麽用?TypeScript createReadStream使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了createReadStream函數的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: BluebirdPromise
await new BluebirdPromise((resolve, reject) => {
const rd = createReadStream(path.join(appImagePath, arch === Arch.ia32 ? "32" : "64", "runtime"))
rd.on("error", reject)
const wr = createWriteStream(image)
wr.on("error", reject)
wr.on("finish", resolve)
rd.pipe(wr)
})
示例2: Promise
return new Promise((resolve, reject) => {
const reader = createReadStream(src)
const writer = createWriteStream(dest, stats == null ? undefined : {mode: stats!!.mode})
reader.on("error", reject)
writer.on("error", reject)
writer.on("open", () => {
reader.pipe(writer)
})
writer.once("close", resolve)
})
示例3: createReadStream
const w = (index: number) => {
if (index >= operations.length) {
firstStream.end(this.fileMetadataBuffer)
return
}
const operation = operations[index++]
if (operation.kind === OperationKind.COPY) {
const readStream = createReadStream(this.options.oldPackageFile, {
fd: oldFileFd,
autoClose: false,
start: operation.start,
// end is inclusive
end: operation.end - 1,
})
readStream.on("error", reject)
readStream.once("end", () => w(index))
readStream.pipe(firstStream, {
end: false
})
}
else {
// https://github.com/electron-userland/electron-builder/issues/1523#issuecomment-327084661
// todo to reduce http requests we need to consolidate non sequential download operations (Multipart ranges)
const requestOptions = this.createRequestOptions("get")
requestOptions.headers!!.Range = `bytes=${operation.start}-${operation.end - 1}`
const request = this.httpExecutor.doRequest(requestOptions, response => {
// Electron net handles redirects automatically, our NodeJS test server doesn't use redirects - so, we don't check 3xx codes.
if (response.statusCode >= 400) {
reject(new HttpError(response))
}
response.pipe(firstStream, {
end: false
})
response.once("end", () => w(index))
})
this.httpExecutor.addErrorAndTimeoutHandlers(request, reject)
request.end()
}
}