Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Utility function that returns a promise that resolves after x ms
npm install --save wait-then
Can be awaited in async functions, or as a yieldable with co or in koa.
Basic example:
const wait = require('wait-then'),
timeout = wait.timeout;
wait(2000).then(function() {
console.log('This is logged after 2 seconds');
});
timeout(2000).catch(e) {
console.log('This is logged after 2 seconds');
};
Example with Promise.race
for simple timeouts:
const timeout = require('wait-then').timeout;
async function getData(key) {
try {
await Promise.race(dataLoader(key), timeout(1000));
} catch (e) {
console.error(e);
}
}
Basic example with async function
and await
:
const wait = require('wait-then'),
timeout = wait.timeout;
(async function () {
await wait(1000);
console.log('This is logged after 1 second');
})();
(async function () {
try {
await timeout(1000);
} catch (e) {
console.log('This is logged after 1 second');
}
})();
Basic example with co
:
const wait = require('wait-then'),
timeout = wait.timeout,
co = require('co');
co(function *() {
yield wait(1000);
console.log('This is logged after 1 second');
});
co(function *() {
try {
yield timeout(1000);
} catch (e) {
console.log('This is logged after 1 second');
}
});
The generator function passed into co
can be yielded in a middleware in koa
.
Note: This relies on the existence of a global Promise
object as defined in the ECMAScript 6 (Harmony) proposal.
How this differs from co-sleep
and co-wait
is that both of them use thunks, support for which is set to be deprecated. wait-then
instead uses Promises, which are also yieldable.
FAQs
Utility function that returns a promise that resolves after x ms
We found that wait-then demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.